Speak.
It types.
Hold a shortcut. Say anything. Release. Text appears in whatever app you're using — Discord, Slack, email, code editor, terminal. Built for people who want to inspect the trick.
How it works
Three seconds from thought to text.
Hold your shortcut
Choose Ctrl+Space, Ctrl+Option, or Cmd+Option. A floating pill appears and your mic is live.
Speak naturally
Talk like you're texting a friend. ChatFlow handles punctuation, formatting, and cleanup.
Release → text appears
Your words land right where your cursor is. In any app. No switching windows.
Pro tip
Add Shift for Enhanced mode
Hold Shift with your chosen shortcut to send screen context for technical terms, project names, and visible labels. Use normal mode when the screen is sensitive.
Builder notes
The useful bits are not hidden.
ChatGPT OAuth PKCE
ChatFlow opens a browser sign-in, receives the callback on localhost, exchanges the code for tokens, and keeps them in a local owner-only file.
PCM16 over WebSocket
Core Audio captures microphone input, converts it to 24 kHz mono PCM16, and streams chunks to OpenAI's Realtime API.
Paste first, fallbacks after
The transcript lands in the focused app through clipboard paste and accessibility checks, because custom macOS text fields vary wildly.
hotkey -> Core Audio -> PCM16 chunks -> Realtime WebSocket -> transcript -> focused app
Features
Small app, sharp edges documented.
Adapts to the app you're in.
Discord? Casual, light punctuation. Email? Proper sentences. Code editor? Preserves technical terms. Terminal? Raw output. ChatFlow detects the active app and adjusts.
Learns your words.
Edit a transcription and ChatFlow remembers. Next time you say "ChatFlow" instead of "chat flow" — it just knows.
Sign in with ChatGPT.
No API key flow for the alpha. Sign in with ChatGPT, then ChatFlow streams audio over OpenAI's Realtime API path for transcription.
Audio streams directly to OpenAI. Never stored.
Your voice goes to OpenAI's Realtime API and back as text. ChatFlow does not intentionally save audio. Enhanced mode screenshots are processed in memory and sent for context, so normal mode is better for sensitive screens.
See it in action
Same voice, different apps. ChatFlow adapts.
Discord / Slack
Casual tone, minimal punctuation, abbreviations preserved. Like texting.
Code editor
Technical terms preserved. Syntax keywords kept literal. Perfect for comments and docs.
Email / Docs
Proper sentences, formal grammar, clean paragraphs. Ready to send.
Terminal
Raw, technical output. Commands, paths, and flags kept as-is.
Get it
Public alpha, signed before it ships.
Download v0.3.0 DMG
Developer ID signed app inside the DMG. Not notarized for this alpha, so Gatekeeper may still ask for one extra confirmation.
Download ChatFlow.dmgBuild from source
git clone https://github.com/chokshiroshan/chatflow.git
cd chatflow && ./build.sh dmg
./build.sh release-dmg # public artifact
First launch walks through ChatGPT sign-in, Microphone, and Accessibility. File rough edges in GitHub Issues with your macOS version and target app.