About
I’m a software engineer with more than a decade of experience building production systems across the stack — and, increasingly, the platform infrastructure and developer tooling other engineers build on. My work now centers on applied AI: agent infrastructure, evaluation, tool use, retrieval, and long-running execution — the unglamorous systems that make LLM-powered products dependable.
What I’m focused on
My current work centers on applied AI: making LLM-powered products dependable. That means agentic workflows, tool use, retrieval, evaluation, and the long-running execution and human-in-the-loop patterns that keep those systems trustworthy — built on more than a decade of frontend, backend, and platform engineering.
How I think about AI engineering
- Treat models as uncertain components, not magic. A model call is one unreliable function in a larger system. Design for that.
- Build evaluation into the product. If you can’t measure whether output got better, you’re guessing. Feedback loops beat vibes.
- Give agents explicit state and boundaries. Long-running work needs external state, checkpoints, and a clear line between plan and execution.
- Preserve human judgment where it matters. The human should stay the planner on high-stakes decisions; the agent executes.
- Prefer useful systems over impressive demos. A reliable workflow that ships beats a flashy prototype that doesn’t.
- Make the surrounding workflow as thoughtful as the model call. Most of the reliability lives in retrieval, tooling, and error handling — not the prompt.
What I work with
Applied AI
Agentic workflows · Tool use & orchestration · Retrieval & RAG · Evaluation & feedback loops · Model integration & routing · Human-in-the-loop systems
Product engineering
Frontend architecture · Backend services · API design · Data-rich interfaces · Experimentation · Production observability
Beyond work
Outside engineering I bake bread, dig through music (there’s a well-worn Last.fm), and mess with mechanical keyboards.