Short essays on the things I'm actively building or arguing about — voice
AI, retrieval, agentic systems, and the architecture decisions that
quietly determine whether any of it works at 3am.
May 2026·8 min read
Designing voice gateways that don't lie
The hard part of a voice agent isn't the language model. It's the seven
layers of latency, hand-off, and silence detection sitting between an
incoming SIP packet and a coherent response — and the user-experience
consequences of getting any of them subtly wrong.
A short field guide to building gateways that fail honestly: when to
barge-in, when to back off, why turn-taking is the new prompt
engineering, and how to keep your eval harness honest about the
parts your users actually notice.
Half the RAG metrics you see in dashboards are downstream of the same
failure mode: confident retrieval over the wrong chunks. This post
walks through the eval rig I default to — groundedness, faithfulness,
answerability, refusal quality — and how to actually wire them into
a CI pipeline that catches regressions before they ship.
Agentic systems and the boring trade-offs nobody mentions
Agent frameworks have gotten good at the demo. The interesting part —
and the part that determines whether your production agent is a
durable feature or a liability — is the boring stuff: tool
authorization, conversation state, recovery on partial failure,
and the operational debt of an autonomous process you can't
interrupt.
From monolith to event-driven, without the rewrite
The two-year rewrite is almost always wrong. Notes from migrating the
Storable Auctions platform from a synchronous monolith into an
event-driven architecture — incrementally, while keeping the
business running and the bidders happy.