Voice for coding that doesn’t suck: brainstorm vs dictation workflows for Claude Code, Codex, and OpenCode
A practical voice workflow for phone-sized moments: when to brainstorm vs dictate, how to keep context, and how to keep voice providers on a privacy leash.
- CLI
- 0.1.0
- Preview ref
- f36aa45
I don’t use voice because I want to “code by talking.”
I use voice because of the moments when typing is the bottleneck:
- I’m on my phone
- I’m walking
- I have 30 seconds
And I still want to keep a Claude Code / Codex / OpenCode session moving.
The trick is that “voice” is two completely different workflows that get confused:
- brainstorming (talk first, then turn it into a clean instruction)
- dictation (talk to produce exact text/code)
If you mix them up, voice feels like a gimmick.
If you separate them, it becomes genuinely useful.
TL;DR
- Pick the right mode:
- Brainstorm when you want to explore and then summarize into a crisp next step.
- Dictate when you need precise text (but expect more friction).
- For brainstorm mode, the key habit is: ask for a summary and a 3-step plan before you send anything into the real session.
- For dictation mode, the key habit is: confirm formatting before you send.
- If you care about privacy, treat voice providers as external services and default to not sharing file paths/tool arguments.
- Happier is one option that helps because voice can target a real session (not just a floating mic), and it has explicit privacy controls.
The problem
Voice fails in coding workflows for predictable reasons:
- you ramble
- you lose decisions
- you send half-formed instructions into the session
- you accidentally expose too much context to a voice provider
So the goal isn’t “voice everywhere.”
It’s:
make voice useful in the few moments where it’s better than typing.
What I tried first (and where I bounced off)
- Phone dictation straight into the message box: fast, but error-prone.
- Voice notes in another app: safer, but now you have a copy/paste workflow.
- Hands-free ‘assistant’ voice apps: fun demos, but hard to keep anchored to a real session.
Happier is one of the options I use because voice has an explicit target session and a clear privacy model.
Brainstorm mode (what actually works)
Brainstorm mode is not “send everything you say into the session.”
It’s a two-step loop:
- talk freely
- ask for a summary + the exact next message to send
I use prompts like:
- “Summarize what I just said into a 3-step plan.”
- “Propose the exact message I should send next.”
- “Ask me one clarifying question before you act.”
Dictation mode (when you really need precision)
Dictation mode is for:
- short instructions
- commit messages
- tight, formatted text
The failure mode is formatting.
So I always add:
- “Repeat back what you heard as text before sending.”
- “Use bullet points.”
- “Don’t invent file paths.”
Privacy: treat voice providers as an external boundary
Voice providers are powerful, but they are another trust boundary.
So the default I like is:
- do not share file paths
- do not share tool arguments
…and only relax that when you understand what’s being sent.
The Happier workflow (voice modes + target session + privacy toggles)
Happier supports:
- Happier Voice (managed realtime)
- Use my ElevenLabs
- Local voice
Voice keeps a hidden voice conversation transcript, but actions target a real session.
Privacy toggles include:
- share recent messages
- share file paths (off by default)
- share tool arguments (off by default)