Kavya
AI Receptionist
A voice-based AI receptionist Prepreater built and self-hosted for its own front door — a real agent, handling real conversations, built on the same stack Prepreater offers to clients as "AI Receptionist & Consultant."
The Problem
Every inbound voice conversation needs a first response
Phone and voice enquiries are immediate — there's no inbox to catch up on later. A missed call, a question asked outside business hours, or a prospective client wanting to talk through a project all need a response in the moment, not a callback the next day. Kavya exists to be that first, always-available response.
What We Built
What exists today
Kavya is Prepreater's own deployment of its voice-AI stack — currently wired up as a gated AI consultant that prospective clients can talk to directly, after requesting access over WhatsApp. The same architecture is what Prepreater builds out as a dedicated inbound receptionist for a client's business.
Voice interface
Real-time browser-based voice over WebRTC, using LiveKit for audio transport and session orchestration — both client-side (livekit-client) and the Python agent worker (livekit-agents) that runs Kavya.
Speech-to-text
Sarvam AI's saaras:v3 model, run in automatic language-detection mode — so Kavya transcribes whatever language a caller actually speaks in, accurately, independent of which language she's currently replying in.
Reasoning
Anthropic's Claude (Haiku 4.5) handles the conversation itself, with prompt caching enabled and replies capped to a conversational length — short, spoken answers rather than essays read aloud.
Voice output
Sarvam AI's bulbul:v3 text-to-speech model, on a dedicated "Kavya" voice, with support for 11 Indian languages (see Multilingual below).
How It Works
The conversation loop
Authentication
Passkey-gated access
Kavya isn't open to anonymous public calls. Access is gated behind a single-use passkey, obtained by messaging Prepreater on WhatsApp — the same number used for general enquiries.
Single-use keys
8-character keys, issued one at a time. A key is consumed the moment it's redeemed — win or lose — so it can never be reused or shared onward.
Time-limited
An unused key expires on its own after 24 hours, so issued-but-never-used keys don't accumulate indefinitely.
Issued after qualification
Keys are generated through an internal, authenticated endpoint called only after Prepreater's WhatsApp automation has qualified the request — not handed out to anyone who asks.
Cost Protection
Keeping a live AI voice agent from running up an unbounded bill
Every second Kavya is on a call is real API spend — speech-to-text, an LLM, and text-to-speech, all billed per use. A handful of mechanisms exist specifically to keep that spend bounded and predictable:
Passkey gate. No session starts without a valid single-use key — removing open-ended anonymous access as a cost vector entirely.
Per-IP rate limiting. The token-issuing endpoint is rate-limited independently of the passkey system, as a second layer.
Daily issuance cap. Key issuance has its own server-side daily ceiling, enforced independently of whatever the WhatsApp side already limits — defense in depth, not a single point of control.
Hard 3-minute session cap. Every call gets a spoken wind-down warning at 2:30 and a forced disconnect at 3:00, regardless of what's happening in the conversation.
Multilingual
Marathi by default, 10 more languages on request
Kavya starts every call in Marathi. She does not automatically switch languages based on what she hears the caller speaking — that was tried, and in live testing it produced unreliable, random mid-call language changes. Instead, switching is explicit: a caller can simply ask, e.g. 'switch language to Hindi,' and only then does her reply language change.
Speech recognition runs in automatic language-detection mode throughout the call, so Kavya transcribes a caller accurately no matter what language they speak in — independent of, and unaffected by, which language she's currently replying in.
Conversation Experience
Built to feel like a conversation, not a phone tree
Interruptible
Callers can talk over Kavya mid-sentence, same as interrupting a human — the session is explicitly tuned to allow this.
Tuned turn-taking
Endpointing is tuned to a narrow window so Kavya neither cuts a caller off too early nor leaves an awkward pause before replying.
Can take real action
When a caller wants to start a project, Kavya can send a structured consultation request on their behalf — captured with their name, email, and what they need.
Every call is followed up
At the end of a session, Prepreater receives an email summary of the conversation, so no enquiry handled by Kavya goes un-reviewed by a human.
Current Status
Live, self-hosted, and honestly scoped
- Deployment: self-hosted via Docker — a Python voice-agent worker, a Node/Express backend, and the frontend, all behind a Cloudflare Tunnel. Not a third-party managed voice-AI platform.
- Access: gated by passkey, not open to anonymous public calls — see Authentication above.
- Session length: capped at roughly 3 minutes per call, by design, for cost control — not a technical ceiling.
- Known limitation: the first reply of a new call can land slightly slower than the rest of the conversation while the underlying connections warm up — an active area of tuning, not hidden from this page.
Business Use Cases
What this pattern is for
Currently implemented
- — Gated AI voice consultation for prospective Prepreater clients
- — Lead capture, with an emailed summary of every conversation
- — Explicit, on-request multilingual voice replies
Potential applications (same pattern, not yet deployed)
- — Inbound call reception for a business, after hours or always-on
- — Appointment-related enquiries and basic booking questions
- — Answering repetitive, high-volume customer questions by phone
Related
Built on the same technology
AI Customer Support Agent
Complaints, order status, and troubleshooting — built on the same conversational stack.
AI Collections & Billing Agent
Payment reminders over voice or WhatsApp, consistently and without an awkward human call.
AI Recruiter & Screener
Resume screening and interview scheduling for an internal hiring pipeline.
