Prepreater
● LIVEPasskey-gated access

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

Caller requests a passkey over WhatsApp
↓
Caller opens the voice widget on prepreater.com and enters the passkey
↓
Browser connects over WebRTC (LiveKit) — Kavya greets in Marathi, mentions the 3-minute limit
↓
Caller speaks → Sarvam STT transcribes → Claude generates a reply → Sarvam TTS speaks it
↓
Caller can ask to switch language, or ask about Prepreater's products and services, at any point
↓
Session ends (caller hangs up, or the 3-minute cap is reached) — a summary email is sent to Prepreater

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.

Marathi (default)EnglishHindiGujaratiBengaliTamilTeluguKannadaMalayalamPunjabiOdia

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

Want something like this for your business?

Contact Prepreater

This site uses cookies for analytics (Google Analytics / Tag Manager) to understand traffic. See our Privacy Policy.