Writing
Notes from
production.
Engineering notes on agent platforms, real-time systems, distributed systems, AI, evaluation, and lessons from production. RSS
Your Voice Agent Passed Every Eval. The Caller Hung Up.
Why transcripts miss voice AI failures, and how to evaluate acoustic quality, conversational timing, and human experience without a labeling army.
The Audio Gateway: The Production Pattern for Real-Time Voice AI
Split voice AI into a media plane that owns the real-time audio path and a business plane that owns meaning, joined by a small typed gRPC contract.
Python Is Lying to You: Async Pitfalls in Real-Time Audio Pipelines
Why async def doesn’t mean non-blocking: CPU-bound guardrails, blocking loggers, and GIL contention that degrade production voice AI audio, and the fixes.
Voice AI: Fast and Dumb or Slow and Smart — Why Not Fast and Smart?
The Responder-Thinker pattern for production voice AI: a realtime model that stays present, specialist thinkers that get it right, backend mediation, and local VAD.
Cutting 600ms from Every Voice AI Turn with Local VAD
Replacing OpenAI Realtime API server-side turn detection with local VAD cut perceived latency by 689ms per substantive turn in a controlled 100-turn test over production telephony.
I Tested Our WebSocket Audio Pipeline with WebRTC. Here’s Why I Switched It Back.
A production proof-of-concept comparing WebSocket and WebRTC transport for PSTN voice AI: same latency, same audio quality, and why the boring pipeline won.