Problem
Businesses needed one AI front desk that could answer across phone, lobby kiosk, and website chat — with real knowledge, booking, and human handoff — not a single-channel chatbot.
Outcome
Shipped a production platform with intent-routed specialist agents, live voice on phone and kiosk, configurable playbooks/topics, Qdrant RAG, and a React admin for channels, staff routing, calendars, and analytics.
What I built
- Built a multi-channel AI receptionist (phone, SMS, lobby kiosk, webchat widget) on a shared FastAPI agent/tooling backend with OpenAI, LangChain, and LangGraph.
- Implemented intent-based multi-agent routing across Knowledge, Smart Receptionist, Appointment, and Text Playbook agents — with tool-calling for KB search, transfers, staff lookup, and bookings.
- Phone channel: Twilio Media Streams, OpenAI Realtime, ElevenLabs TTS, and Silero VAD; human handoff with staged dials and conversation summary to the live agent.
- Lobby kiosk: Pipecat + SmallWebRTC voice bot, lip-synced Anam avatar, live captions, suggestion topics/playbooks, OTP identity verification (2FA), and Speak-to-Person SR transfer over a Twilio audio bridge.
- Webchat: embeddable widget + standalone deployment pages for text (and optional voice) sessions — topic selection, handoff flows, branding, and session/deployment config from the business dashboard.
- Knowledge layer: document/website ingest via Unstructured (+ Vision for images), OpenAI embeddings, and Qdrant semantic search exposed to agents as query_knowledge_base.
- Configurable Text Playbooks and Appointment Capability Builder — dashboard instructions drive agent behavior, outcomes, and calendar integrations (Google/Microsoft).
- React.js admin (MUI): AI configuration, Smart Receptionist directory, kiosk/webchat channel setup, analytics/logs, Stripe billing, and team role permissions — FastAPI service layer with auth and multi-tenant ops.
