Why
Most voice assistants send your audio to a server to understand it. Onkith does that work on the device, and only the masked text ever leaves it.
How it works
Three steps, all on the device.
- Listen: voice activity detection runs on the device; nothing is held until speech starts.
- Transcribe: speech becomes text on the device, and the audio does not move.
- Gate: a classifier reads the text token by token and masks private spans before the text leaves.
What I built
As deputy lead on a team of six, I built the voice stack end to end.
- The original speech-to-text front end and the streaming model that replaced it, taking word error rate from 6.78% to 3.29% on LibriSpeech test-clean.
- The LLM call and the on-device text-to-speech that completed the assistant.
- Both product interfaces, a live terminal client and a two-screen app, and the bilingual site.
- The int8 ONNX masking model (33 entity types) as a FastAPI service on Google Cloud Run, models baked in so it serves fully offline, with parity verified on ARM64 and x86.
In person
Stack
- Field
- On-device AI, speech-to-text, PII masking
- Stack
- Links
- Open Onkith



