Two different practices share this name, and confusing them is why people try voice coding once and give up. One of them has been hard for twenty years and still is. The other became easy about two years ago, and almost by accident.
You learn a command grammar — spoken phrases that produce symbols, identifiers, motions and edits. "Camel case user profile." "Snake wrap." This is the tradition of Talon, Serenade, and Dragon-based systems before them. It is genuinely powerful, and for people with RSI who cannot type it has been life-changing.
It is also a real skill with a real learning curve. You are memorising a language to avoid typing a language. People who stick with it get fast. Most people bounce off in the first week.
You say, in ordinary English, what you want — and something else writes the code. No grammar, no memorisation. You already know how to do it.
This did not work before, and it is worth being precise about why. Dictating "create a function that validates the email and throws if it's malformed" into an editor in 2019 produced a sentence, not code. The sentence was useless. What changed is not speech recognition; it is that there is now something on the other end that can act on a sentence. The moment coding agents arrived, the hard half of voice coding was solved by someone else.
| Command grammar | Dictating at an agent | |
|---|---|---|
| Learning curve | Weeks | None |
| Good for | Precise edits, navigation, working without hands at all | Prompts, intent, comments, commits, review notes |
| Bad at | Long prose | Exact symbol-level edits |
| Tools | Talon, Serenade | Any dictation tool + an agent |
| Ceiling | Very high, if you invest | Bounded by the agent |
They are not rivals. Someone with RSI may want both. Someone who just types a lot of prompts wants the second and nothing else.
Once accuracy is good enough, speed is what makes or breaks the habit. If the text is there within about a fifth of a second of letting go of the key, dictation feels like typing. Past a second it feels like waiting, and waiting is what makes people quit. Cloud round-trips are the usual culprit.
Most of what you dictate while coding is not code. It is a prompt, a commit message, a comment on a pull request, a reply in Slack about the thing you just built. A tool that only works inside one editor covers a fraction of that. Whether it types into every application is a bigger practical difference than any accuracy benchmark.
We build for the second practice only, and we are not pretending otherwise. VocalCode is push-to-talk dictation: hold a key, talk, release, and your words are typed wherever the cursor already is — editor, terminal, browser, chat. Recognition runs on your own machine in roughly 150 ms, so nothing is uploaded and nothing waits on a network.
It will not learn a command grammar for you and it will not write code from your intent. For those, look at Talon and VoiceCode respectively — different tools for different jobs.