Portfolio · Case Study
A production multi-tenant AI customer service platform supporting four inbound and outbound channels: voice (Twilio + Deepgram + ElevenLabs), WhatsApp, web chat, and outbound campaigns. Conversations are handled by a LangGraph ReAct agent with real-time function calling against live client APIs. Voice calls are processed through a dedicated Pipecat streaming pipeline — Silero VAD, Deepgram Nova-2 STT, Claude Haiku 4.5, and ElevenLabs TTS — delivering sub-second responses end-to-end. Multi-tenancy is achieved through a TenantRuntime Registry: each tenant is an isolated directory with its own config, tools, and formatters. Onboarding a new client is a configuration operation — no changes to shared application code. An embedded n8n control plane lets each tenant provision and trigger automation workflows from the platform — templates are instantiated programmatically through the n8n REST API and fired by app and call events.
Inbound messages from all four channels are normalized through a single Channel Router, then dispatched to a shared LangGraph ReAct agent. Voice calls bypass text routing entirely, entering a dedicated real-time Pipecat pipeline for sub-second STT → LLM → TTS latency.
Each component was chosen for streaming latency, not batch throughput. Deepgram Nova-2 returns partials in real time. Claude Haiku 4.5 is Anthropic's fastest inference model. ElevenLabs flash_v2_5 streams audio chunks before synthesis is complete — the caller hears the first word before the full response is generated.
VAD + STT + LLM + TTS: ~800ms typical · <1.2s with tool call
The agent's command center for live conversations — every channel in one place, with one-click human take-over from the AI.
Mass outbound WhatsApp campaigns via Meta-approved templates, with per-send delivery tracking and audit trail.
Operational health of the AI customer service platform — resolution, intent mix, agent load, and sentiment in one view.
Per-tenant configuration of the AI agent — model, behavior, tools, greeting, and system prompt — without touching code.
Every inbound and outbound voice call in one searchable log — with one-click playback of the recording and the full conversation transcript.
Configure a voice AI agent end to end — telephony, voice, language, greeting, prompt, and the AI flow it runs — without touching code.
Provision telephony numbers in-app and assign them to agents — the layer that connects the voice agents to the phone network.
Automation around the conversation — built on an embedded n8n control plane that connects the agents to hundreds of downstream apps.
Subscription and usage management — current plan, tiers, and Stripe-backed payment, so each tenant's voice and messaging usage is metered and billed.