Show HN: I built a sub-500ms latency voice agent from scratch
TL;DR Highlight
Building your own STT→LLM→TTS voice pipeline from scratch can hit 2x lower latency than all-in-one platforms like Vapi — here's how.
Who Should Read
Developers building real-time voice AI applications who are hitting latency walls with managed platforms and are ready to own their own pipeline.
Core Mechanics
- The DIY pipeline architecture: Deepgram (STT) → LLM streaming API → ElevenLabs/Cartesia (TTS), with careful attention to streaming handoffs between each step.
- The key latency win comes from streaming: start TTS synthesis on the first few words of the LLM output rather than waiting for the full response.
- Managed platforms like Vapi add latency through abstraction layers and round-trip overhead — building directly against the APIs eliminates this.
- The author measured ~800ms end-to-end latency on the DIY pipeline vs. ~1600ms on Vapi for comparable quality settings.
- Tradeoffs: you now own reliability, error handling, voice activity detection (VAD), and turn-taking logic — things managed platforms handle for you.
- WebSockets throughout the pipeline (not HTTP) are essential for minimizing latency — avoid any HTTP request/response roundtrips in the hot path.
Evidence
- The author shared benchmark measurements comparing DIY pipeline latency against Vapi with the same STT/LLM/TTS components.
- HN commenters with voice AI experience corroborated the latency numbers, noting that streaming chunk handoffs are the biggest optimization lever.
- Some pointed out that Vapi and similar platforms have been improving their latency, so the gap may narrow — but the DIY approach still wins for the most latency-sensitive use cases.
- Others noted that the '2x faster' claim depends heavily on network conditions and component choices — results vary.
How to Apply
- Start TTS synthesis as soon as you have a natural sentence boundary in the LLM stream — don't wait for the full response. This alone can cut perceived latency by 40–50%.
- Use WebSockets for all pipeline components — Deepgram, your LLM endpoint, and TTS. Avoid HTTP polling in the real-time path.
- Implement voice activity detection (VAD) locally in the browser/client rather than on the server to reduce turn-detection latency.
- Profile each stage separately: STT latency, LLM first-token latency, TTS first-audio latency. The bottleneck shifts by use case and you need data to optimize intelligently.
Terminology
Related Papers
Show HN: OpenKnowledge – open source AI-first alternative to Obsidian/Notion
Git 기반 동기화와 Claude/Codex/Cursor 연동을 내장한 로컬 우선 마크다운 에디터로, AI 에이전트의 두 번째 뇌(LLM Wiki)로 활용할 수 있는 오픈소스 도구다.
The Unfireable Safety Kernel: Execution-Time AI Alignment for AI Agents and Other Escapable AI Systems
AI 에이전트가 자신의 안전장치를 우회할 수 없도록, 에이전트 프로세스 바깥에 수학적으로 증명된 강제 통제 게이트를 배치하는 아키텍처
RubyLLM: A Ruby framework for all major AI providers
OpenAI, Claude, Gemini 등 주요 AI 프로바이더를 단일 인터페이스로 통합한 Ruby 프레임워크로, Rails 통합과 에이전트 기능까지 지원해 Ruby 개발자가 AI 기능을 빠르게 붙일 수 있다.
Qwen-AgentWorld: Language World Models for General Agents
Alibaba Qwen 팀이 AI 에이전트가 행동 결과를 미리 시뮬레이션할 수 있는 'Language World Model'을 공개했다. 에이전트 훈련과 실행 경로 검증에 새로운 패러다임을 제시하는 연구다.
SHERLOC: Structured Diagnostic Localization for Code Repair Agents
버그 위치만 알려주는 게 아니라 '왜, 어떻게 고쳐야 하는지'까지 진단 리포트를 생성해서 코드 수정 에이전트의 성능을 높이는 training-free 프레임워크
Show HN: peerd – AI agent harness that runs entirely in your browser
백엔드 서버 없이 Chrome/Firefox 확장 프로그램으로만 동작하는 AI 에이전트 실행 환경으로, 브라우저 탭을 직접 조작하고 WASM Linux VM까지 구동할 수 있어 프라이버시와 보안을 동시에 챙길 수 있다.