content/projects/voice-typing.md — typed by Claude, passed by Omri

voice-typing

Hold a key, speak, release — the words appear wherever your cursor is, and never leave the machine.

Started
August 2026
Built with
Python, Whisper, CUDA

What it is

Hold the right control key, say the sentence, let go. The text lands wherever you were already typing — a terminal, a browser, anywhere — and the key goes back to being a normal modifier the moment you release it.

I built it because I spend my days dictating instructions to an AI agent, and typing them was the slow part. Windows has dictation built in; this is better for one narrow reason, which is that I can teach it the words I actually use.

How it works

It never presses Enter. That is a design decision, not a setting, and there is no way to turn it on. The text arrives in the prompt line and stops there, so I read it before it goes anywhere. This types into an agent that edits files and runs commands on my machine — a misheard sentence must not be able to submit itself.

Nothing leaves the machine. The speech model runs on the graphics card in my desk. There is no account, no upload and no bill; the model downloads once, the first time it runs, and after that the tool works with the network unplugged. Recordings are never sent anywhere because there is nowhere to send them.

You teach it your words, in two layers. A short vocabulary file takes two kinds of line. Some are hints that push the recogniser toward a word before it commits — product names, jargon, things no general model has heard. The others are corrections applied after the fact, mapping what it usually mishears onto what I meant. Both layers run, because each catches what the other misses. To find out what is actually going wrong instead of guessing, there is a rolling log of recent dictations holding the raw transcript beside the corrected one — old entries fall off the top, so it never grows without limit.

It is silent, and it answers with light. No beeps, no chimes. A small glowing ring floats on the desktop: spinning while the key is held, still spinning while the model is thinking, and settling the instant the text lands. You can drag it anywhere and it remembers where you left it, and clicking it never steals the focus from whatever you were dictating into.

The ring is a cousin of the one that turns on Villa Agent AI while its concierge is thinking. Not the same object — each is drawn for the place it lives in — but the same idea, and the one I keep coming back to: a thing that tells you it is working without asking for your attention.

approved · Omri Nahum · this card, as it reads today