Proposals answered within 2 business days
All case studies
Voice AIAI agentsTelephony

Voice AI assistant for a helpline, with a custom audio pipeline for Polish

Client: In-house product: an AI phone line handling calls in PolishIndustry: Customer service6 July 2026
Results
of fixed waiting for silence replaced by end-of-utterance detection
1.2 s
architectures compared before choosing a solution
4
commit that rolls the change back in production
1

Challenge

The first version of the phone line ran on an off-the-shelf telephony operator service with a language model and speech synthesis. After each utterance the caller waited about 1.5-2 s for a reply, which is a very long time in a phone conversation.

The diagnosis showed that the problem lay in how Polish was handled. The off-the-shelf service allowed only one speech recognition engine for Polish and detected the end of an utterance using a fixed 1.2 s window of silence. Newer models that allow faster replies did not support Polish.

Approach

First we broke the latency budget down stage by stage: end-of-utterance detection, transcription, the model's first word and speech synthesis. The first fixes covered the model configuration (reasoning switched off, short answers) and a timeout with one retry, so that a failure would not end in silence on the line.

We then compared four architectures: refining the existing one, an off-the-shelf voice agent platform, our own pipeline and external voice AI services. We chose our own pipeline because it gives full control over every stage and the lowest possible response time. The price is responsibility for the whole audio path.

Implementation

The new path: the audio stream from telephony goes to real-time speech recognition, then to voice activity detection and a semantic end-of-utterance model that supports Polish and runs on an ordinary CPU. Claude then generates the reply, and a speech synthesiser turns it into voice. The assistant recognises the caller by phone number and greets them personally, and every call carries a verified signature.

Test calls led to concrete fixes: the assistant no longer interrupts itself, it takes a phone number through a callback instead of by dictation, and it always confirms amounts, because speech recognition can confuse “siedem” (seven) with “siedemdziesiąt” (seventy).

Results

The new version has run in production as a pilot since July 2026. The change can be rolled back with a single commit. In test calls the speech recognition wrote digits correctly, and the remaining problems concerned the flow of the conversation, not the technology.

The next step is to measure latency on a series of identical calls before and after the change, so that the versions are compared on numbers and not on impressions.

How it is built

Audio path
Stream from Twilio Media Streams over WebSocket to a FastAPI server. Pipeline in Pipecat: real-time speech recognition, voice activity detection (Silero VAD), semantic end-of-turn detection (Smart Turn), language model and speech synthesis.
Model
Claude with reasoning disabled and a short response limit, because time to first word is what matters in a conversation. A timeout and one retry instead of a long silence on failure.
Speech
ElevenLabs Scribe in streaming mode for Polish and fast ElevenLabs synthesis. The end of an utterance is detected by a model running on a plain CPU, so there is no need to wait for a fixed silence window.
Conversation
The caller is recognised by phone number and greeted personally. Amounts are always confirmed, and the contact number is captured through a callback instead of being dictated.
Security and rollout
Twilio signature verification on every request. A pilot on a production number, with the option to roll the change back in a single commit.

Technologies

  • Python
  • FastAPI
  • Pipecat
  • Twilio
  • Silero VAD
  • Smart Turn
  • ElevenLabs
  • Claude
  • Supabase
  • Docker
Case studies

More case studies

Real estate

AI sales assistant platform for property developers, powered by live inventory

A chat on the developer’s website answers questions about available flats and prices using live data. In a test of 106 scenarios, the number of answers containing invented facts fell to zero.

View case study
Education and personal development

AI coach on WhatsApp with participant memory and handover to humans

A thirty-day programme run as a WhatsApp conversation, with the author’s knowledge base and a memory of each participant. AI resolved 92% of cases without human involvement, and difficult conversations went to the coaches.

View case study
Real estate

Sales and after-sales system for a developer, with 3D walkthroughs built from floor plans

An offer generator with open tracking, a defects dashboard with the statutory 14-day deadline, complaints with a phone line, and 360° walkthroughs generated automatically from floor plans for 81 of 82 flats.

View case study
Healthcare

Health app taken over, with a new product catalogue and 47 languages

We took over the app from the previous contractor: an audit, security and payment fixes, a new product search and localisation into 47 languages, without stopping sales.

View case study
Real estate

Automated system for statutory reporting of flat prices to dane.gov.pl

An audit of 612 files against the act and the ministry template, a fix to the generator at the source, and automatic upload of 409 overdue resources to a portal that has no write API.

View case study
Construction

Public tender analytics platform with a competitor relationship graph

The application combines data from the Public Procurement Bulletin, KRS, GUS and the VAT White List. It shows who is bidding, at what price and how they are connected, instead of manual searching before every tender.

View case study
Technology

Kubernetes platform with GitOps and image signing for 32 applications

We are moving several dozen applications from a single server to a Kubernetes cluster with Git-based deployments, a security policy and backups whose restoration we check every week.

View case study
Media

AI short-video factory with human approval in a mobile web app

Script, illustrations, voiceover, subtitles and render in a single pipeline. A person approves every episode in a phone app, and publishing runs in scheduled slots.

View case study
Hospitality

Video menu platform for restaurants with HLS streaming and QR codes

A guest scans a code at the table and sees short videos instead of a list of dishes, with no app to install. Video in three quality levels, data isolation for each restaurant and a database restore verified in practice.

View case study
Pharma

Analytics dashboard for a group of e-prescription online shops, with no patient data

The dashboard collects orders from many shops in real time, while patients' personal data never leaves the shops. Privacy by design from the first version.

View case study