RingFrogLab
Internal briefing — architecture, response time, and cost

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.

< 2scaller speech → audible reply (design target)

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.

TENANT BOUNDARY — every node inside is scoped by business_idCALLERPSTN / mobileTELEPHONY ADAPTERTelnyx · Twilio · SIPINBOUND WEBHOOKresolves number → business_idCALL ORCHESTRATORmedia-stream WebSocketSTTWhisper / DeepgramREASONING ROUTERsimple / complex tiersTTSOpenAI · CartesiaKNOWLEDGE ENGINEembeddings + retrievalPOSTGRESbusinesses · employees · callsOBSERVABILITYlatency + cost per callAUDIO OUTAUDIO IN
Green = live call-turn pathAmber dashed = business_id isolation boundary

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

Speech-to-textReasoning (LLM)Text-to-speechTelephony minutes

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.