PrimeDictate is a local AI dictation tool designed to streamline voice-to-text transcription on Windows. It captures audio from your default Windows microphone, transcribes it locally using on-device models, and injects the final transcript directly into the active application.
Key Features:
Live Transcription Overlay: Preview real-time transcription in an overlay window without affecting the target app until you commit.
Configurable Hotkeys: Trigger dictation, stop, or discard with customizable global hotkeys.
Final-Only Injection: Delivers the final transcript once, avoiding constant mutations to your active application during live speech.
Optional Ollama Integration: Post-process transcriptions with AI prompts for context-aware improvements.
Tray-First UI: Access settings, history, and updates directly from the system tray for seamless operation.
Transcription History & Metrics: Track past sessions, delivery targets, and productivity metrics like WPM (words per minute).
Impact Dashboard: Monitor your speaking pace, accuracy, and overall efficiency over time.
Audience & Benefit:
Ideal for professionals who value speed and accuracy in transcription, especially those working in coding, content creation, or note-taking. PrimeDictate is perfect for users prioritizing local processing without cloud dependencies, ensuring privacy and reliability while reducing the friction of traditional dictation workflows.
README
PrimeDictate
Talking is faster than typing. PrimeDictate is local AI dictation for Windows that stays out of your way.
Use one hotkey to speak, preview live transcript locally, and commit final text once. No cloud dependency in the core path. No clipboard paste hacks.
What It Does
PrimeDictate is a tray-first dictation workflow for people who move faster by voice.
Trigger dictation from configurable global hotkeys
Capture the default Windows microphone with WASAPI
Run transcription locally with local model files
Keep live edits in the overlay instead of mutating the target app while you speak
Inject final text once with SharpHook Unicode text entry
Manage everything from a tray-first app with first-run setup, settings, history, updates, launch-at-login, and optional Ollama prompt modes
The current typing path does not rely on clipboard paste. That avoids clipboard races and paste timing issues in editors and browsers.
Why it feels different from basic desktop dictation tools:
Live corrections stay in the overlay instead of fighting your editor while you speak.
Final injection happens once, on commit, instead of backspacing and retyping into the target app.
Models run locally, so the core transcription path does not depend on a cloud API.
The app is optimized around tray-first use, fast toggling, and low-friction first-run setup.
Why People Use It
PrimeDictate is a good fit when you want:
local dictation without sending speech to a hosted transcription service
a coding-friendly workflow where your editor is not constantly rewritten during live recognition
a tray app you can leave running all day and toggle instantly from anywhere in Windows
Windows-native packaging through direct MSI downloads, winget, or Chocolatey
It is usually faster to talk than type, so we open-sourced the workflow on Windows.
PrimeDictate supports polite send phrases like "thank you" and strips them before final injection, so your flow stays natural without polluting final text.
The keyboard is no longer the primary interface for work. Your voice is.
The automation approach
Voice is the new interface. PrimeDictate turns speech into a practical local workflow: hotkey, speak, review, commit.
Qualified result
Most people type around 50 to 70 WPM. Dictation can run around 160 WPM in real workflows. The impact dashboard tracks this in-app so results are visible.
What it costs
PrimeDictate is free and runs on your own computer.
For the best experience, use stronger local hardware:
a modern CPU
a capable GPU
or a Copilot+ PC with NPU support
We continue improving model options and plan to keep upgrading quantized model support as newer variants become available.
Why this matters for FlowDevs
This is one of the internal tools our engineering team uses to move faster. As one of our engineers put it: this tool changed his life.
See how FlowDevs builds practical automation systems at FlowDevs.
Why It Wins
Global control: Configurable hotkeys for start/stop toggle, emergency stop/discard, and history.
Live preview overlay: Non-activating overlay shows local transcript hypotheses while dictation is in progress.
Final-only injection: The focused app receives the final result once, after stop or silence auto-commit.
Voice commands: Built-in phrases can commit, discard, open history, or trigger command prompt actions.
Tray workspace UI: Open Workspace from the tray to review sessions, logs, and history in a clearer dashboard layout.
History and recovery: Every committed transcript is saved locally with metadata and delivery status.
Impact stats: Tracks local productivity metrics, milestones, average speaking pace in WPM, and recent usage history.
Model picker and downloads: First-run setup and Settings can download supported models or browse to existing local folders.
Optional coding mode: Sends Enter after a successful final injection.
Launch at login: Installers enable launch at login by default; MSI and winget installs can opt out.
Built-in updater: Checks GitHub Releases, downloads the matching MSI, verifies checksums, and hands off to Windows Installer.
Local rewrite modes: Optional Ollama integration can post-process dictated text with context-aware prompt modes.
Product Walkthrough
Model setup
Pick your backend, compute interface, and model from the Settings model tab.
Commands and phrases
Map hotkeys, voice phrases, and optional command actions so speaking and committing feels natural in your daily workflow.
Transcript replacements
Tune frequent phrases before final typing so recurring terms normalize automatically.
Transcript history
Review previous sessions, delivery targets, and transcript details in the history window.
Get PrimeDictate
PrimeDictate currently targets Windows x64 and ARM64.
Launch it from Start Menu or let the Startup shortcut run it after sign-in.
Complete first-run setup.
Pick a backend and download or browse to a local model.
Focus the target app and use the dictation hotkey.
First-run setup handles:
backend and model selection
command phrases and transcript replacements
overlay style and silence auto-commit timing
coding mode, impact stats, and other core behavior
Impact tracking includes:
average speech pace in words per minute (WPM)
configurable typing comparison baseline in WPM
Dictation runtime flow:
flowchart LR
A[Press hotkey] --> B[Record microphone]
B --> C[Show live overlay preview]
C --> D[Stop or silence auto-commit]
D --> E[Run final transcription]
E --> F[Inject final text once]
Default controls:
Start/stop toggle hotkey: Ctrl+Shift+Space
Emergency stop/discard hotkey: Ctrl+Shift+Enter
History hotkey: Ctrl+Shift+H
Silence auto-commit delay: 3 seconds
Pro tips:
Keep the caret in the field where you want text before starting.
Do not switch apps while PrimeDictate is processing the final transcript if you want focus safety checks to pass.
Use the overlay as live feedback; the target editor is updated only on final commit.
Set silence delay to 0 if you want commits only from the hotkey.
If you are testing model quality, start with short phrases first; larger models and longer recordings increase turnaround time.
Note: A running PrimeDictate.exe from dotnet run can lock the apphost on Windows. Stop the running instance before rebuilding if you hit copy or file-lock errors.
Windows Installers
PrimeDictate ships MSI installers for x64 and ARM64 Windows using WiX through NuGet. No separate WiX installation is required.
MSI
Behavior
Online x64
Installs the x64 app under Program Files with Start Menu entry, ARP branding, and launch-at-login enabled by default
Online ARM64
Installs the native ARM64 app with the same installer behavior and ARM64 runtime payload
Installer characteristics:
Installs app payload only; no install-time model download
Does not launch the app from the finish dialog
Uses consistent English installer UI resources
Keeps upgrade identity for clean MSI upgrades
Supports LAUNCHATLOGIN=0 for unattended installs that should not auto-start on sign-in
For installer-specific details, see installer/README.md.
Release and Distribution
Tagged pushes that match vX.Y.Z build the app, produce release assets, and publish to GitHub Releases.
In practice, the release pipeline keeps three public distribution channels aligned:
GitHub Releases for direct MSI downloads
winget for Windows package management
Chocolatey for Chocolatey-managed environments
If you only want to install or evaluate PrimeDictate, you can stop reading here. The remaining release details are maintainer-facing.
The same tag-triggered workflow generates versioned manifests from the release MSI assets, validates them, and optionally submits a winget PR when WINGET_CREATE_GITHUB_TOKEN is configured.
For resubmission without rebuilding binaries, use workflow_dispatch with:
submit_winget_only=true
target_version=X.Y.Z
Chocolatey
Package id: primedictate
Community package page: https://community.chocolatey.org/packages/primedictate
Community feed source: https://community.chocolatey.org/api/v2/
Community push source: https://push.chocolatey.org/
Moderation queue: https://ch0.co/moderation
The tag-triggered workflow also builds a Chocolatey .nupkg from the release assets and attempts to push it to the configured source.
GitHub Actions secrets:
CHOCO_API_KEY
CHOCO_SOURCE_URL (optional; defaults to https://push.chocolatey.org/)
Important moderation note:
Chocolatey Community Repository only shows approved versions publicly.
A version can be uploaded successfully and still remain invisible on the public package page while pending automated checks or human moderation.
Maintainer release flow
Maintainer release details
From a clean main worktree:
$Version = "4.3.1"
git status --short --branch
# Update Directory.Build.props to $Version before committing.
dotnet build -c Release
git add -A
git commit -m "release: v$Version"
git ls-remote --tags origin "refs/tags/v$Version"
git tag -a "v$Version" -m "v$Version"
git push origin main
git push origin "v$Version"
If the tag already exists, inspect the existing release instead of recreating it blindly.
Configuration and Local Data
User settings
User settings live at %LocalAppData%\PrimeDictate\settings.json and include:
This repository's application code is provided as in-repo source. Follow the licenses of dependencies and the model publishers' terms when redistributing binaries or model files.
About FlowDevs
PrimeDictate is built by Justin Trantham, Co-Founder and Prime Automator at FlowDevs.
FlowDevs builds internal tools, workflow automation, integrations, and business software for teams that have outgrown spreadsheet-driven operations.