Fully local AI dictation for Windows. Hold a key, speak — polished text appears wherever your cursor is. Filler words removed, self-corrections resolved ("meet at 2… actually 3" types "meet at 3"), no cloud, no subscription, no audio ever leaving your PC.
The Windows port of RevFlow (macOS). Hold Right Alt, speak, release — clean text appears at your cursor in any app.
Everything runs on-device:
- Speech-to-text: OpenAI Whisper via faster-whisper (CTranslate2 — CPU int8 by default, GPU automatically if you have one)
- AI cleanup: a local LLM served by Ollama removes filler words ("um", "uh") and resolves self-corrections ("meet at 2… actually 3" → "meet at 3"), fixes punctuation, and enforces your personal dictionary
- Text insertion: clipboard snapshot → paste → clipboard restore (works in every app)
No cloud. No account. No subscription. Your audio never leaves the PC.
- Windows 10/11
- ~4 GB free disk for models (Whisper + the Ollama cleanup model)
- Ollama with a small model:
ollama pull llama3.2:3b(the setup script does this for you)
git clone https://github.com/DamnDevin/RevFlow-W.git
cd RevFlow-W
powershell -ExecutionPolicy Bypass -File scripts\setup_new_pc.ps1That installs Python + Ollama + the AI model (all via winget), sets up the app in a local virtual environment, creates a Start Menu shortcut (plus an optional start-at-login shortcut), and launches it.
winget install Python.Python.3.12
winget install Ollama.Ollama
ollama pull llama3.2:3b
python -m venv .venv
.venv\Scripts\pip install -r requirements.txt
.venv\Scripts\pythonw -m revflow_w # or double-click RevFlow-W.batFirst launch downloads the Whisper speech model (~150 MB for base.en, one time) — the tray icon shows an hourglass until it's ready.
- Hold Right Alt, speak, release. Cleaned text is pasted at your cursor.
- Tray icon → AI Cleanup (Ollama) toggles the LLM formatting pass (off = raw transcript, still fully local).
- Tray icon → Edit Personal Dictionary… — add names/jargon (one per line); the cleanup model spells them exactly as written.
Config lives in %APPDATA%\RevFlow-W\config.json:
{
"hotkey": "right alt",
"cleanup_enabled": true,
"ollama_model": "llama3.2:3b",
"whisper_model": "base.en",
"ollama_url": "http://127.0.0.1:11434/api/chat"
}whisper_model:base.en(fast default),small,medium,large-v3(best, needs a GPU to be pleasant). Changing it downloads the new model on next launch.ollama_model: any model you've pulled, e.g.qwen2.5:7bfor higher-quality cleanup on a beefier machine.hotkey: any key name thekeyboardlibrary knows, e.g."f8".- The cleanup prompt itself is user-editable at
%APPDATA%\RevFlow-W\prompt.txt(installed fromconfig/prompt.txton first run; delete it to fall back to the built-in prompt).
Restart the app after editing (tray icon → Quit, then relaunch).
Right Alt down Right Alt up
│ │
▼ ▼
Recorder (sounddevice, 16 kHz mono)
│
▼
Transcriber (faster-whisper / CTranslate2) ← local
│
▼
OllamaClient (llama3.2:3b @ localhost:11434) ← local, optional
│
▼
TextInjector (clipboard + Ctrl+V keystroke)
Same pipeline, same prompt, same guardrails — different plumbing:
- faster-whisper instead of Parakeet. The Mac version uses NVIDIA Parakeet on the Neural Engine via CoreML; there's no Windows equivalent, so this port uses Whisper via CTranslate2.
base.enon CPU is a touch slower and slightly less accurate than Parakeet — bumpwhisper_modeltosmallif you have the horsepower. - Text-only clipboard restore. The Mac version snapshots and restores all clipboard content types. This port restores plain text only — if you had an image or a file copied when you dictated, it won't come back after the paste.
keyboardlibrary global hook. No Accessibility permission dance like macOS, but the global keyboard hook can be blocked by some anti-cheat/security software, and apps running elevated (as Administrator) won't receive the paste keystroke unless RevFlow-W is also elevated. If pasting into an admin window fails, the text stays on the clipboard and a tray notification tells you to press Ctrl+V.- AltGr caveat. On some non-US keyboard layouts Right Alt acts as AltGr and is used for typing characters. If holding it fights with your layout, set
"hotkey": "f8"(or any spare key) in config.json. - Freshly written, untested on real hardware. This port was written on a Mac and has a passing cross-platform test suite for all the pure logic, but it has not yet run on a real Windows machine — the first run may need tweaks (audio device selection, tray behavior, hook permissions).
MIT — see LICENSE. Built by RevvedPro.