Skip to content
← All projects

Case study/Real-time AI platform/2026

SeloraX Voice AI

A voice agent platform that answers real phone calls with a speech model trained in-house.

01The problem

Each client wanted its own phone agent: its own prompt, its own tools, its own knowledge, billed separately, answering real calls in real time.

Voice is unforgiving: a pause that feels short in a chat feels broken on a call, and callers interrupt. The platform had to stream audio both ways with low delay and let people cut the agent off mid-sentence.

02How it fits together

Callerphone (SIP) or browserLiveKitself-hosted WebRTCNode gatewaybarge-in · transcriptsSpeech modeltrained in-houseWalletpoisha-precise · markupRecordingsS3Agent configprompt · tools · KBTools & webhooksHTTP · client-sideTraining dataevery turn: audio + textaudio1 WebSocket / callper callimproves

The gateway holds one persistent connection to the model for the whole call; everything else hangs off it.

03Decisions

  1. 01

    One persistent WebSocket per call

    Opening a connection per turn would add a handshake to every reply. Keeping one socket open for the whole call keeps latency down and keeps the call's state in one place.

  2. 02

    Barge-in and live transcripts in the gateway

    The gateway listens while the agent speaks, so a caller can interrupt and the agent stops, which is how real conversations work. Live transcripts come from the same stream.

  3. 03

    Self-hosted LiveKit for WebRTC

    Running the WebRTC media server ourselves keeps call audio inside our own infrastructure.

  4. 04

    Money in poisha, never floats

    Balances and per-customer markups are integers in the smallest currency unit, so billing never drifts from floating-point rounding.

  5. 05

    Capture every turn to improve the model

    Each turn's speech and text is stored, which feeds the training data for the next version of the voice model (see the Bangla Voice Model case study).

04Trade-offs

05Results

↑ ↓ to move↵ to goT toggles the themeX x-ray? all shortcutsdrag on blank paper to doodle/ opens this anywhere

Keyboard shortcuts

Ctrl/⌘K
command palette
/
command palette, too
T
paper ⇄ chalkboard
X
x-ray: see the components behind the page
?
this sheet
drag
doodle on blank paper
Ctrl/⌘Z
undo the last doodle
Esc
close any dialog
↑↑↓↓←→←→BA
…you know what this does

psst: open the browser console too.