Behind the Glass — field notes from a live deployment

The Voice We Fired

July 13, 2026 · AI contact center at Optik.net, a Ukrainian internet provider

Before Asya learned to talk the way she talks now, she went through six voices — or rather, six engines that carried her hearing, her voice and her character. We tried all the big names on the market: ElevenLabs, OpenAI, Gemini, Grok. Each got its chance on live calls. This mini-series is about why we retired five of them — and why the winner is one you've most likely never heard of. Let's start with the most beautiful.

In the autumn of 2025, Asya spoke with an ElevenLabs voice — and it was stunning. Their voices are alive, tunable down to goosebumps; in the first tests people honestly could not tell they weren't talking to a human. For a showcase — perfect. That's why we took it first: if we're going to teach a machine to talk, let it at least sound human.

The problems began not with the sound but with the character. Asya has a habit we saw then for the first time: after every trip to the back office — check a plan, look a subscriber up in the records — she forgot what language the conversation had been in and reverted to the language of her instructions. The caller speaks Russian; Asya goes off to check the balance — and comes back speaking Ukrainian, as if nothing happened. We patched it with incantations in the prompt; the incantations held until the next call. Architecturally, the gap couldn't be patched.

The second trouble was more insidious. Transferring a call to a live human, for us, takes two steps: prepare the transfer, then transfer. Asya would take the first step, receive a cheerful "done" — and relax: say a polite goodbye and hang up. The task was complete, after all; the confirmation had arrived. The person stayed on the line alone, never connected to the operator they were promised. Half a step from the goal — and total confidence the job was done.

And there were the small things that added up to a noticeable bill: tool responses traveled through someone else's cloud, an extra three to five hundred milliseconds each; the sensitivity of her hearing couldn't be tuned — the moment we inserted a routine "one second, let me check," Asya would interrupt herself; and the minutes kept ticking into the invoice even where nobody was saying anything.

But we didn't fire this voice over bugs. Everyone had bugs — later in the series you'll see that some had funnier ones. The decisive thing turned out to be dull and entirely non-acoustic: the speed of iterating on the character. Any edit to Asya's behavior in ElevenLabs meant clicking through a cloud dashboard. No version history, no way to see what changed yesterday, no rollback, no review. And a live agent's character isn't edited once a month — it's edited daily, sometimes hourly, based on the fresh recording of a failed call.

By then we had grasped a simple truth: the prompt is code. It must live where code lives — in a repository, with history, with an honest "who changed this, when and why," with scenario runs before release. An engine where the agent's character is edited with a mouse in a browser loses not on quality — on learning speed. Every day spent in a dashboard is a day the agent could have gotten smarter and didn't.

So the most beautiful voice on the market went into the archive — as a warm spare, in case the main one ever falls ill. We parted without a scandal: for short scripts and showcases it is excellent to this day. It's just that a provider's live support line is not a showcase.

Its place was taken by OpenAI — and with it came the opposite story: there was almost nothing to fault in the quality. The problem was the number on the per-minute bill. Which number, and why it hurts five times more than it sounds — in the next dispatch.