Latency: engineered back, not accepted
A voice agent lives or dies by one number: the pause between when you stop talking and when it starts. Three choices keep that pause under a second. The text-to-speech connection stays open for the whole session, because reconnecting on every turn costs 150 to 300 milliseconds of audible silence. The agent starts speaking after its first complete sentence instead of waiting for the full reply — a small buffer between the model and the speech engine flushes only on sentence boundaries, because feeding half-sentences to a speech engine breaks the intonation and sounds robotic. And audio chunks are scheduled back-to-back on the browser’s audio clock, so sentences join without gaps.
Every turn logs four timings — speech to transcript, transcript to first model token, first sentence to first audio, and end to end — into Postgres, with daily median and 95th-percentile views. A latency regression shows up as a number, not a feeling.