Docs · Under the hood
Built on open source,
engineered for conversations
Saient stands on some of the best open software in the world. This page shows the exact frameworks we use and how a live conversation actually flows through them.
The request path
Every page view and API call takes the same hardened road.
Your browserNginx + TLSNext.js UIFastAPI corePostgreSQL
The live voice loop
What happens, end to end, in the moments between a customer speaking and the agent replying.
01Audio streams inRaw voice arrives over a WebSocket, frame by frame.
02Speech becomes textA streaming STT engine transcribes while the customer is still talking.
03Turn detectionA local ONNX model decides the customer is done, in milliseconds.
04The agent thinksLangGraph retrieves your knowledge and drafts the reply.
05Text becomes voiceStreaming TTS speaks the reply back down the same socket.
The whole loop runs continuously — interrupt the agent mid-sentence and the cycle restarts instantly.
The open source we stand on
Ten projects do the heavy lifting. Each one earned its place.
FastAPIThe API and every WebSocketAsync Python that comfortably holds long-lived voice and chat sockets while staying easy to read.Next.js + ReactEverything you seeThe dashboard, this site and the embeddable widget, server-rendered and fast.LangGraph + LangChainThe agent brainConversations are graphs: retrieve, guard, generate, with clean fallbacks between LLM providers.LightRAGKnowledge retrievalBuilds a knowledge graph from your documents so answers come from your content, not imagination.ONNX Runtime + Pipecat smart-turnKnowing when you are done talkingA local neural end-of-turn model, so the agent stops talking the moment you start.PostgreSQL + SQLAlchemyMemory that survivesAgents, transcripts, wallets and every ledger entry, in boring reliable rows.Celery + RedisThe campaign dialerOutbound calls queue, retry and pace themselves in the background without blocking anything.Docker + NginxShipping and servingThe whole platform is containers behind a hardened reverse proxy with TLS.PydanticTrust at the boundariesEvery request in and out of the API is schema-validated before it touches anything.Tailwind CSSThe design systemConsistent, fast UI across the dashboard and this site.
How answers stay grounded
Retrieval augmented generation, so the agent quotes your price list instead of inventing one.
01You uploadBrochures, price lists, FAQs — PDF, DOCX or plain text.
02We chunk & embedDocuments become searchable vectors and a knowledge graph via LightRAG.
03Every question retrievesThe agent pulls only the passages relevant to what was just asked.
04The answer is groundedThe LLM must answer from retrieved context — and says so when it can't.
Want to see it talk?
The fastest way to understand the engineering is to interrupt it mid-sentence.
Get started