How a phone call becomes an AI receptionist's voice.
What actually happens between a caller dialing in and hearing a reply — the provider hop, the reasoning pipeline, the per-business isolation boundary every call runs inside of, and what it costs to run.
Call-path architecture
Every field on this diagram is a real component in the running system — down to the point where a call actually becomes "owned" by one business.
Vendor lab — real, not simulated
Three real employees, each wired to a different speech-to-text/text-to-speech vendor combination. Log in and press a card's call button to place a genuine demo call through that exact combo — the latency shown updates from that real call, not a script.
Deepgram + OpenAI voice
Deepgram transcription, GPT reasoning, OpenAI text-to-speech.
- STT
- —
- LLM
- —
- TTS
- —
Awaiting real test calls — no fabricated numbers shown.
Whisper + Cartesia voice
OpenAI Whisper transcription, GPT reasoning, Cartesia text-to-speech.
- STT
- —
- LLM
- —
- TTS
- —
Awaiting real test calls — no fabricated numbers shown.
Whisper + OpenAI voice
The all-OpenAI stack — fewest vendors, one bill.
- STT
- —
- LLM
- —
- TTS
- —
Awaiting real test calls — no fabricated numbers shown.
Cost simulator
Move the sliders — this is what's actually behind the vendor lab's cost math.
Cost simulator
Built on the platform's own per-unit cost rates — not vendor list prices restated.
Est. platform cost / month
$41
Cost per call: $0.07
Modeling assumptions
- Rates: STT $0.006/min, TTS $0.015/1K chars, LLM simple ~$0.15/1M tok, LLM complex ~$5/1M tok (blended), telephony $0.013/min.
- AI speaks ~45% of call duration; the caller's share is what gets transcribed.
- ~14.6 characters/second of synthesized speech, at a natural speaking pace.
- ~3 turns/minute, ~180 blended prompt+completion tokens per turn.
- Models the OpenAI TTS rate — a Cartesia voice profile bills at Cartesia's own rate instead.
Field notes
Written plainly, on purpose — this is a lab log, not a pitch deck.
Multi-tenant isolation shipped this cycle.
Every employee, phone number, call, knowledge document, and saved API credential is now scoped to the business that owns it.
Knowledge storage is still in-memory.
Retrieval works end-to-end, but a restart clears it — the next durability milestone is a persistent, per-business vector store.
Auth is intentionally interim.
A signed session token stands in for real password auth today, built so swapping in Supabase Auth later touches one module, not every route.