CS at Duke (AI/ML concentration). I build AI agents and the systems that keep them honest: voice agents that won't act without a spoken yes, evals for LLM judges, and tools that trace where a model's behavior comes from.
Now
- Software Engineer, Founder's Office at Karat: data pipelines and AI-interview prototypes
- Undergraduate researcher at Duke: conformal prediction for chemo-infusion scheduling (Zavlanos Lab), a Claude + Three.js study builder (MADLAB), and a C rewrite that made a genomics pipeline 20x faster (Dietrich Lab)
Before
- Harbor Capital (SWE intern): multi-agent underwriting pipeline, a Monte Carlo pricing engine, and a fund-admin rebuild in Next.js + Postgres
- Polymr (SWE - Contract)
| Project | What it is |
|---|---|
| Ava | Full-duplex voice agent for a patient portal. 43 tools, barge-in, and no write without a spoken yes (0 unconfirmed writes in 34 test sessions) |
| Gavel · code | Paste a lecture or podcast, get a claim-by-claim evidence check. Judge calibrated on a 1,064-claim benchmark (F1 0.83) |
| Culprit | Training-data debugger: traces a fine-tuned model's bad behavior back to the examples that caused it |
| Windlass | Raft implementation tested with a deterministic network simulator |
| Preflight | Runs an npm package's install scripts under instrumentation and diffs what changed between versions |
| Mosaic · code | Pinterest-style visual discovery on real CLIP embeddings and a pin-board graph |
Merged work includes fixes in LangChain, Deep Agents, Cloudflare workers-sdk, Vercel Chat SDK, n8n, Qdrant fastembed and Strapi.
Python · TypeScript · C/C++ · SQL · Go · React/Next.js · FastAPI · PostgreSQL · Redis · Cloudflare Workers/D1/Durable Objects · Claude API · Gemini · LangChain · evals