Skip to content
VDAI with VD

Service

Voice AI

Real-time voice assistants with explicit local and online processing boundaries.

Talk to me about this

What I build

Voice assistants you can actually talk to: low latency, interruptible, and explicit about where each stage processes data. The pipeline is four swappable stages behind a WebRTC media layer, with a web client included.

How I work

Latency is the product. I set a budget per stage, measure it continuously, and choose models to fit. Privacy requirements decide which stages stay local; the configuration system makes that a setting, not a rebuild.

When to call me

You want a voice interface for a product or an internal tool, and its latency, cost, and data boundaries need to be deliberate.

What you get

  • Real-time voice pipeline (VAD, speech to text, LLM, text to speech)
  • WebRTC media layer and a web or mobile client
  • Provider-swappable configuration with every stage's network boundary explicit
  • Latency budget and resilience wrappers for each stage

Selected work

Case studies for this service

Self-Built Project

Demonstrated

Self-Hosted Voice AI: A Local-First Hybrid Pipeline

A local-first, hybrid voice pipeline behind LiveKit WebRTC: VAD, STT, and LLM run locally, while default Edge-TTS sends response text to Microsoft Edge's online TTS service.

Demonstrated capabilities

Sub-2-second latency was observed in local development on Apple Silicon; it is not a controlled cross-hardware benchmark and not a guarantee.

< 2s

Voice-to-voice latency on Apple Silicon

3 local

VAD, STT, and LLM stages

Read case study

Related work

Related projects

Voice AI Demo

Local-First Hybrid Conversational Voice AI Assistant

Self-Built ProjectDemonstrated

A local-first, hybrid conversational voice AI assistant powered by LiveKit Agents. VAD, STT, and LLM run locally with Apple Silicon acceleration; default Edge-TTS sends response text to Microsoft Edge's online text-to-speech service.

LiveKit AgentsFastAPIPython 3.12

Questions I get asked

Which stages run locally in the demonstrated stack?

It is local-first and hybrid: VAD, STT, and LLM run locally, while default Edge-TTS sends response text to Microsoft Edge's online text-to-speech service. The TTS provider remains swappable.

Which parts can use cloud providers?

Speech to text, the language model, and text to speech each sit behind a configuration switch. Every configured provider keeps its network boundary explicit; in the demonstrated setup, VAD, STT, and LLM are local while Edge-TTS is online.

How do you keep latency low?

Streaming at every stage, small models where they are good enough, and a measured latency budget per stage that we hold in tests.

Have a problem that looks like this?

Tell me about it. I reply within one working day with a first take and no sales pitch.