VoiceManager
An AI outbound sales rep: a Russian-speaking voice agent
- Role
- Creator — from architecture to production
- Period
- 2026 — now
- Stack
- Python · LiveKit · Yandex SpeechKit · Gemini · ElevenLabs · Silero VAD · FastAPI · PostgreSQL · Docker

The problem
Outbound phone sales are expensive and hard to scale. VoiceManager takes over the first line: the agent dials through a contact list, holds a natural conversation and hands a ready order to the CRM — items, address and preferred delivery time included.
How it works
01audio
Call
SIP / WebRTC
outbound call from a contact list
02audio
Media server
LiveKit · self-hosted
Silero VAD and a Russian turn detector
03audio → text
Speech-to-text
Yandex SpeechKit v3
directly from Russia
04text
Agent reply
LLM adapter
V2Horizon gateway → Gemini, YandexGPT or OpenRouter
05text
Normalisation
Normalizer
numbers and stress marks before synthesis
06text → audio
Text-to-speech
ElevenLabs
Flash v2.5 or v3 + on-disk phrase cache
The voice pipeline runs on self-hosted LiveKit: Silero VAD and a Russian turn detector tell when the person has finished speaking. Speech is recognised by Yandex SpeechKit v3 directly from Russia. Replies come from an LLM behind a pluggable adapter — by default my own V2Horizon gateway to Gemini, with YandexGPT direct or OpenRouter via proxy as alternatives. Text is normalised before synthesis (numbers, stress marks) and voiced by ElevenLabs — Flash v2.5 by default or v3 for quality — with an on-disk cache for frequent phrases.
Client dashboard
- Moderated campaigns: greeting, product facts, objection handling, upsells
- Contact lists, dialing and a test environment to hear the agent right in the browser
- Call logs: transcript, outcome (order, call back, refusal), duration and CRM-ready data
- Dashboard: pick-up rate, order conversion, call funnel and 30-day activity
- Security: two-factor sign-in, integration API keys, session management
- The AI assistant answers questions, pauses campaigns and edits settings — every action is logged in the chat
Screens
5




