Tolky: Browser-Native Real-Time Speech Translation for B2B
Tolky is a browser-based real-time speech translator for Dutch, French, English, Turkish, German, and Spanish. Open a link, speak, get translated audio back — no app install. Here is what we shipped and what it unlocks.
Tolky started from a single user observation: a GP in Antwerp with limited Dutch, a patient who speaks only Turkish, and ten minutes of appointment time. No app install, no account creation, no device pairing could happen in that room. The translation had to live in a browser tab.
What the product does
Tolky captures microphone audio in the browser, streams it to a translation model that supports low-latency speech-to-speech, and plays translated audio back through the browser. Six languages today: Dutch, French, English, Turkish, German, and Spanish. The transport runs over WebSockets, the capture pipeline runs through the Web Audio API, and the entire client is a single page application with no native dependencies.
The two hard problems
Latency that survives a real conversation
Latency is not a number on a dashboard — it is the difference between a conversation that flows and one that stutters. We tuned the audio frame size to a sweet spot that the Web Audio worklet can deliver without buffering, and we negotiated the WebSocket session once per call and never re-handshaked mid-utterance. Re-handshakes were the single biggest source of perceived lag spikes in early builds.
Capture / playback isolation
The translated audio cannot feed back into the capture loop. We split input and output gain stages explicitly and gated capture during playback windows. Get this wrong and the model happily translates its own output into a feedback loop that produces nonsense after three seconds.
Who buys it and why
Three customer segments signed the early access letters of intent:
- GP practices and hospitals. Patient-provider translation during consultations. The product constraint is that the device is whatever the front desk hands the patient — a clinic iPad, a personal phone, an old laptop. Browser-native covers all three.
- Municipalities and OCMW/CPAS. Intake interviews, social-services conversations, and parent-teacher meetings at schools. The procurement gate is GDPR compliance plus a signed DPA.
- Workplace collaboration. Teams with mixed-language membership, especially in cross-border districts (NL/BE/DE) where ad-hoc translation used to mean pulling someone out of a meeting.
The compliance posture that closed the deals
Two non-obvious requirements turned the early pilots into signed contracts:
- EU-hosted inference. A SaaS that runs its app in Frankfurt but calls a US-hosted model is not "EU-hosted" in any way that matters to a Belgian DPO. We forced the inference endpoint into an EU region from day one.
- A signed DPA template, ready on request. Procurement asked on the first call. Having the template, signed by legal and ready to counter-execute, was the difference between a 6-week sales cycle and a 4-month one.
What is next
The next wave is per-seat billing for the B2B tier, custom glossaries for sector-specific vocabulary (medical, legal, education), and a usage-reporting dashboard so an OCMW procurement officer can prove value to their auditor. The browser stays the platform; the workflow is what gets thicker.
