Projects

The Agentic Workflows I've built.

Each panel below walks through what the system actually does: what goes in, the steps it takes, what comes out. Some you can open and use, some you can look inside. Each one says which.

01 / Lease Abstraction Pipeline

Lease Abstraction Pipeline

Live
Messy commercial leases in, structured lease data out, every field cited to the sentence that proves it.

Built for Synapse to process commercial leases across the Mexican market. The demo below runs on public EDGAR filings, since real client documents aren't demo-safe, but the pipeline is the same one doing the work: rent, term, escalations, renewal options, and key clauses all come out structured, and every field carries the exact quote it was pulled from. Next up: confidence scoring, a human review queue, and every version graded against a verified eval set.

LLM extractionSource-groundedEval-drivenBuilt for Synapse
6
lease examples
12
scalar fields, each source-quoted
~$0.93
per full corpus pass
TypeScriptMastraClaude SonnetLangfuse
lease-extractor · field grounding
tenaya-lab-lease.htm

2. PREMISES. Landlord hereby leases to Tenant the premises

described as Suite 200, consisting of approximately

10,683 rentable square feet (the "Premises").

3. TERM. The Term of this Lease shall commence on the

Commencement Date and continue for ninety-six (96) full

calendar months thereafter.

rentableSquareFeet
10,683
“consisting of approximately 10,683 rentable square feet”
termMonths
96
“continue for ninety-six (96) full calendar months”
02 / Onboarding Agent

Onboarding Agent

Running internally
Turns a three-week onboarding email thread into a day or two of actual work.

Real estate development moves slowly, and bringing a new customer into the development phase used to mean two to three weeks of back-and-forth before any of their data was flowing. The agent runs that conversation instead. It asks which ERP they are on, checks whether we already integrate with it, hands over the exact commands to run, validates what comes back, and drafts an ETL-equivalent schema mapping into our system. It also writes the messages they need to send and tells them who to send them to. Two of the steps need no model at all, just a registry lookup and vetted command templates. Of the rest, most can run on a laptop through Ollama, with hosted models pulled in only where a mistake is expensive to fix.

Local-firstModel routingERP → ETL schemaBuilt for Synapse
1–2 days
to onboard, down from 2–3 weeks
3
customers onboarded so far
local
runs on a laptop, async by design
MastraOllamaClaude SonnetClaude HaikuEnkontrol ERP
onboarding-agent · local run
Which ERP are you running?
Enkontrol
detect_erp ollama · local
check_integration registry lookup
emit_commands vetted template
validate_extract ollama · local
map_etl_schema claude sonnet
draft_handoff_msgs claude haiku
local models do the bulk; hosted ones only where a mistake is expensive to fix
async by design, so nothing is sitting waiting on a laptop
03 / Newsletter Agent

Newsletter Agent

Live
One weekly recap of only what matters to you.

Subscribing to twelve AI newsletters means reading none of them. This agent reads all of them, clusters what is actually the same story told four times, and sends you the three things worth your attention. You set the topics once.

AgenticIngestionEval-gatedFree tool
3
items, not 142
~2.1s
median run
weekly
cadence
TypeScriptTool callingLangfusePostgresResend
newsletter-agent · run 8f2c1
▸ you
what actually mattered in AI this week?
fetch_inbox 142 msgs 0.4s ✓
dedupe_stories 142 → 38 0.6s ✓
cluster_by_topic 38 → 9 1.1s ✓
rank_by_relevance 9 → 3 0.5s ✓
eval.check_grounding 3 / 3 cited 0.3s ✓
✦ 3 things worth your time
  1. Anthropic ships longer-horizon agent tooling
  2. Eval tooling consolidates around trace-first workflows
  3. Inference costs drop again, this time at the long tail

Want one of these pointed at your problem?

I build agents that survive contact with production. Tell me what you're trying to automate and I'll tell you honestly whether an agent is the right tool.