· — Rishi Lahoti ·Sep 10, 2026·9 min read

Voice AI for SaaS Products

A practical guide for SaaS founders adding voice AI to their product — the concurrency, cost, and multi-tenancy problems that only show up after launch, and the architecture that solves them.

Key Takeaways

  • The first version of voice AI in a SaaS product almost always ships on a hosted platform's free or starter tier — the architecture problem shows up later, when concurrent session limits cap growth right when usage is taking off
  • Prodinit migrated Cuebo's voice AI off LiveKit Cloud's tiered limits to a self-hosted LiveKit stack, removing all concurrent session caps and handling 10x peak load with zero proportional cost increase
  • Voice AI cost scales with call volume in a way text features don't — a SaaS platform at 10,000 calls/day cut inference costs 70% by distilling a frontier teacher model into a fine-tuned smaller model, with no quality regression
  • Multi-tenant voice AI needs session isolation per customer, not just per user — a noisy tenant's call volume shouldn't degrade latency for every other tenant on the platform
  • The three questions that determine architecture before writing any code: expected concurrent session ceiling, per-minute cost budget at 10x current volume, and whether the AI pipeline needs to vary per customer or per use case

Voice AI in a SaaS product usually starts the same way: a hosted platform, a quickstart demo, and a working feature in a sprint. It stays that way right up until a usage spike hits the platform's concurrent session limit mid-demo, or the first real-cost invoice arrives and inference is now the second-largest line item after infrastructure. Both problems are architectural, and both are solvable — but only if they're designed for before the feature ships, not discovered after a customer notices.

Voice AI for SaaS products means building a real-time voice layer — WebRTC transport, an STT-LLM-TTS pipeline, and session management — that scales independently from the core application and doesn't hit a vendor's concurrency ceiling exactly when usage grows. The architecture decisions that matter are self-hosting versus a managed platform, per-minute cost control at scale, and multi-tenant session isolation — not which STT or TTS vendor to pick first.

What Adding Voice AI to a SaaS Product Actually Requires

Voice AI is not a feature you bolt onto an existing API — it's a different runtime model with different failure modes.

Real-time transport, not request-response. A voice session is a continuous WebRTC connection carrying audio in both directions, not an HTTP request with a response. This means running a signaling and media server (LiveKit is the dominant open-source choice), not just calling a model API from your existing backend.

A latency-sensitive pipeline, not a single model call. Every turn passes through speech-to-text, an LLM for reasoning and response generation, and text-to-speech — each stage adding latency, and each stage a separate vendor dependency with its own uptime and rate limits. The pipeline's end-to-end latency, not any single component's benchmark number, determines whether the conversation feels natural.

Concurrency limits that don't match your growth curve. Hosted voice platforms price and cap by concurrent session count. That ceiling is invisible during development and low-volume beta, and becomes the binding constraint exactly when a SaaS product's usage starts compounding — the worst possible time to discover an infrastructure limit.

Cost that scales with usage in a way text doesn't. A text-based LLM feature's cost scales with tokens; a voice feature's cost scales with call-minutes across STT, LLM, and TTS simultaneously, for the full duration of every session regardless of how much useful content it contains. At meaningful call volume, this becomes a cost line item that needs the same optimization discipline as any other unit economics driver.

Multi-tenancy at the session layer. A SaaS product serves many customers on shared infrastructure — session isolation has to prevent one tenant's call volume from starving another tenant's latency, which a single shared agent pool doesn't do automatically.

Self-Hosted vs Managed: The Decision That Sets Your Ceiling

The single highest-leverage decision is whether to run on a managed voice platform or self-host the real-time infrastructure — and it's a decision that's cheap to get right early and expensive to reverse after launch.

A managed platform (LiveKit Cloud and similar) is the right starting point: no infrastructure to operate, fast to ship, and appropriate while validating that voice AI is a feature customers actually use. The constraint is the tier's concurrent session, agent deployment, and egress-minute limits — fine at low volume, a hard ceiling once usage grows past what the tier was priced for.

Self-hosting the stack — the real-time server, the agent workers, and call recording — removes the vendor's concurrency ceiling entirely. The only remaining limit is the compute you provision, which autoscales with demand instead of being capped by a pricing tier. This is the migration Prodinit built for Cuebo, a sales-simulation SaaS platform: moving voice AI off LiveKit Cloud's hosted agent tiers onto a self-hosted LiveKit server, standalone agent workers, and Egress running on Cuebo's own ECS infrastructure. The result was 10x peak load capacity and zero concurrent session limits, with autoscaling tied to active connection count instead of a fixed pricing tier.

The trade-off is real: self-hosting means operating the infrastructure yourself — autoscaling policies, connection-aware scaling triggers, and the on-call burden that comes with running real-time infrastructure. The right time to make the move is when the managed tier's limits start constraining growth, not before — Cuebo made this switch once concurrent session demand had already outgrown what a hosted tier could economically support.

Controlling Cost as Call Volume Scales

Voice AI cost is a per-minute, all-stages cost — and at meaningful volume, the model serving the LLM stage is usually the largest lever available. A high-volume voice AI platform running 10,000+ calls per day cut inference costs 70% by distilling a frontier teacher model (GPT-4.1) into a fine-tuned smaller student model (GPT-4o-mini), deployed in a 90/10 hybrid rollout with no measurable quality regression — validated through a progressive A/B rollout (10% → 25% → 50% → 75% → 90%) with hallucination detection and quality gates at every stage, documented in the model distillation case study.

This pattern generalizes to any SaaS voice product approaching meaningful call volume: instrument every call with observability (Langfuse is the common self-hosted choice) before optimizing anything, build the training dataset from real production call data rather than synthetic examples, and roll out the cheaper model progressively with quality gates rather than a single cutover. Cost optimization done before volume justifies it is wasted engineering effort; done after volume has already made the LLM bill a real line item, it's the highest-leverage infrastructure work available.

Multi-Tenant Session Isolation

A SaaS platform's voice AI has to isolate tenants at the infrastructure layer, not just the application layer. The pattern that works: separate the API/control-plane server from the real-time voice server so voice session load never competes with general API traffic, scale the voice agent worker pool on connection-aware metrics rather than fixed schedules, and route each customer's sessions through the same shared pool with per-session resource limits rather than dedicated infrastructure per tenant (which doesn't scale economically for a SaaS pricing model).

Cuebo's platform separated WebSocket and API servers into independently scalable services specifically so voice session load — inherently spikier and more resource-intensive than typical API traffic — couldn't degrade the core application's availability. Scheduled pre-scaling ahead of known peak hours, combined with connection-count-based autoscaling, handled the variance in concurrent session demand across a customer base without over-provisioning for the average case.

Get Prodinit's AI engineering guides in your inbox

Deep-dives on production LLMs, voice AI, and MLOps — published weekly. No sales emails.

Frequently Asked Questions

It involves a real-time transport layer (WebRTC, typically via LiveKit), an STT-LLM-TTS pipeline for each conversation turn, session management and recording, and — as usage grows — infrastructure decisions around self-hosting versus a managed platform, cost control at scale, and multi-tenant isolation. The first working version is usually straightforward to build on a managed platform; the infrastructure work concentrates around the concurrency and cost limits that appear once real usage arrives.

Start with LiveKit Cloud to validate the feature quickly, with no infrastructure to operate. Move to self-hosting once concurrent session demand approaches what the pricing tier supports economically — self-hosting removes all concurrency limits but requires operating the real-time infrastructure yourself. Prodinit made this exact migration for Cuebo, reaching 10x peak load capacity with zero concurrent session limits after moving off LiveKit Cloud's hosted tiers.

Cost scales with call-minutes across speech-to-text, the LLM, and text-to-speech simultaneously — a fundamentally different cost driver than a text-based LLM feature. At meaningful volume, model choice on the LLM stage is typically the largest lever: one high-volume voice platform cut inference costs 70% by distilling a frontier model into a fine-tuned smaller model without quality regression. Below a few hundred calls a day, a managed platform's usage-based pricing is usually cheaper than the engineering cost of optimizing it further.

Yes, but not on a managed platform's default tier — hosted voice platforms cap concurrent sessions, agent deployments, and egress minutes per pricing tier. Removing that ceiling requires self-hosting the real-time server, agent workers, and egress pipeline, with autoscaling tied to infrastructure metrics (CPU, memory, active connections) instead of a vendor's tier limit. This is the architecture that took one SaaS platform to 10x peak load with zero concurrent session constraints.

Multi-tenant voice AI has to prevent one customer's call volume from degrading latency or availability for every other customer on shared infrastructure — session isolation, connection-aware autoscaling, and separating the real-time voice server from the core API server all serve this purpose. Single-tenant or internal voice AI doesn't face this problem, since all usage belongs to one workload with predictable, controllable volume.

Stay ahead in AI engineering.

Get the latest insights on building production AI systems, be the first to explore approaches that actually work beyond the demo.

Start a Project →