As an experiment, I gave myself one rule: build a real-time voice agent where no American company touches the data.
No US entities allowed. That rules out the obvious shortcuts, like OpenAI’s European servers or AWS’s European Sovereign Cloud. An EU region still belongs to an American entity.
The stack
- Gladia (Solaria-1) for speech-to-text
- TEN VAD and Pipecat Smart Turn for voice activity and turn detection, running locally
- Gemma 4 (26B) hosted on Scaleway for the LLM
- KugelAudio (kugel-2-turbo) for text-to-speech
Gemma is Google’s model, but here Scaleway runs the weights on its own servers. None of the data goes to Google.
The numbers
These come from the app’s own latency panel, for one measured turn:
| LLM → first token | 108 ms |
| TTS text → first audio | 212 ms |
| Final transcript → first audio | 527 ms |
“First audio” is the first PCM frame at the server, before browser playback.
Put another way, the agent starts speaking about half a second after it knows what I said. The pause you hear in the video is longer, roughly a second and a half. That includes the voice activity detector waiting for 600 ms of silence before it treats the turn as possibly over, plus the turn verdict. That silence window is the obvious next thing to tune.
It doesn’t feel like a compromise.
Why it matters
Nobody wants sovereignty badly enough to ship a worse product. But as companies move past “everyone has Claude” and build AI into workflows, products, and internal systems, where those systems run and where company data goes becomes part of the architecture. You’ll want to have made that choice on purpose.
There’s a credible European stack emerging. If you’re building under sovereignty constraints, I’d like to hear what you’ve found. I’m on LinkedIn and X.