
We priced Wispr Flow for our team and then did not buy it. Not because it is a bad product; it is a very good one, but because the free open-source version does about 90 per cent of the job and the missing 10 per cent turned out to be something we could add ourselves in an afternoon.
This is what we installed, what it actually costs, where it falls short of the paid tool, and the specific things that will waste an hour of your time if nobody warns you about them first.
What is the best free Wispr Flow alternative?
Handy is the strongest free Wispr Flow alternative for teams. It is MIT-licensed, runs fully offline on Windows, macOS and Linux, and installs in one command. You hold a hotkey, speak, release, and the text is pasted into whatever application has focus. There is no account, no word cap and no subscription.
The project sits at handy.computer with source on GitHub, where it has passed 23,000 stars and ships releases regularly. That matters more than it sounds. The graveyard of abandoned dictation projects is large, and a tool you are asking 15 people to depend on needs to still exist in two years.
Installation on Windows is a single line:
winget install -e –id cjpais.Handy
The Windows installer is around 12.6 MB because it is built in Tauri rather than Electron, so it doesn’t carry a browser engine. The first launch downloads one speech model, roughly 700 MB, and from then on, it never touches the internet.
What Handy does, and what it leaves out
Handy is deliberately narrow. It transcribes speech and puts it in a text box. Everything Wispr Flow layers on top of that — the polish, the tone matching, the verbal editing commands — is either absent or something you assemble yourself.
| Wispr Flow Pro | Handy (basic) | Handy + local AI | |
| Cost per person | $15/month, or $144/year if paid annually | Free | Free |
| Is your audio sent off your computer? | Yes | No | No |
| Setup effort | Install and sign in | One command | Two installs plus configuration |
| Fixes grammar and removes filler words (“um”, “uh”) | Yes, built in | No | Yes, using a prompt you write |
| Edit text by voice (“delete that”, “make it formal”) | Yes | No | Partly, through prompts |
| Wait time after you stop talking | Under 1 second | About 2–5 seconds | About 3–6 seconds (roughly 1 second more than basic) |
| Still works if the company shuts down? | No | Yes | Yes |
The speed column is the honest trade-off. Wispr Flow feels instant. Handy does not. You release the key, and there is a pause before the words land, long enough to notice for the first week and short enough to forget by the second.
The offline column is the reason we accepted that. Client work under NDA, commercial terms, staff matters: none of it leaves the laptop it was spoken on. For an agency handling other people’s data, that is not a privacy preference; it is a contractual position that is easier to defend.
Why the cleanup layer is the part that matters
Raw transcription is less useful than it sounds. It types what you said, which includes every “um”, every false start, every time you changed direction mid-sentence. Dictating a client email and then spending 40 seconds repairing it isn’t actually saving time.
Handy has post-processing built in, sitting behind an experimental features toggle in the advanced settings. Once enabled, it will pass each transcript through any OpenAI-compatible API endpoint with a prompt you write before pasting the result.
How does the AI cleanup pass work?
Handy sends the finished transcript to a language model with your instructions attached, then pastes what comes back. Post-processing has its own dedicated hotkey, separate from normal transcription, so your standard key always returns fast plain text and the second key runs the slower cleaned version. You choose which one you want as you speak.
That dedicated hotkey is a better design decision than it first appears. Most dictation is throwaway: a Slack reply, a search box, a file name. Paying a second of latency on all of it to benefit the one message in ten that matters would be a bad trade. Splitting them means you reach for the AI key only when you are drafting something a client will read.
The endpoint can be a cloud provider or something running on your own machine. Locally, Ollama exposes an OpenAI-compatible API at http://localhost:11434/v1, so you install it, pull a small model, and point Handy at your own computer. LM Studio does the same job at port 1234 if you prefer a graphical interface for managing models.
Pro Tip: Use a model in the 3B to 8B range for cleanup. Something like llama3.2:3b is a 2 GB download and handles punctuation, filler removal and number formatting without thinking about it. Larger models are slower for no gain on a task this narrow.
The two-tier rollout that works for a team
Here is where most write-ups on this subject fall over. They describe a developer’s setup and then imply you can hand it to a marketing coordinator.
You cannot. Installing a language model runtime on 15 machines, half of them offshore, is a support burden somebody has to own, and that somebody is usually the person who suggested it.
Split the rollout instead:
- Everyone gets plain Handy. One winget command, one model download, one hotkey. No AI layer, no second install, nothing to configure. Transcription alone is where most of the value sits because most dictation is internal chat that nobody is proofreading anyway.
- Heavy drafters add the cleanup layer. Whoever writes client emails, proposals and briefs all day installs Ollama as well. That is usually two or three people in a team of 15, not all 15.
If you want cleanup for everyone without the local install, the same Custom provider field takes a cloud API key from a provider like Groq or OpenAI. It is cheaper than a per-seat subscription and faster than local inference on an average laptop. The cost is that dictated text now leaves the machine, which returns you to the problem you were solving. Our position is that the key goes to people who understand what not to dictate into it, with a line in the onboarding doc saying so plainly.
What it actually costs
At US$15 per Wispr Flow user per month, 15 seats come to US$2,700 a year, or about US$2,160 on annual billing. Handy costs US$0 at any headcount, and Ollama adds nothing on top of that.
The real cost is not the licence; it is the hour. Budget 15 minutes per person for plain Handy, including the model download, and around 45 minutes for anyone adding the local AI layer, most of which is waiting for downloads. Write the guide once, screenshots included, and hand the same document to everybody. We did this after walking the first person through it manually, which took considerably longer than it should have.
One ongoing cost worth naming: you are now the support desk. There is no vendor to escalate to. In practice, the questions are few and repetitive, which is exactly why the internal guide pays for itself.
Where it goes wrong
Five things account for nearly all the lost time.
- The Base URL needs /v1 at the end. Point Handy at http://localhost:11434 without it, and the call fails silently, falling back to raw text. It looks identical to post-processing simply not working.
- Silent fallback hides the failure. When the cleanup call fails for any reason, Handy pastes the plain transcript rather than showing an error. That is the right behaviour; you still get your words, but it means a misconfiguration can go unnoticed for days. Test with a sentence containing a spoken number, because “twenty five per cent” arriving as “25%” is unambiguous proof the model ran.
- Cloud models look like local ones. Ollama’s model picker lists both. Entries with a cloud icon run on Ollama’s servers and require an account. Entries with a download arrow run on your machine. Only the second kind keeps the promise you installed it for.
- Hotkey collisions. Handy’s own demonstration uses Ctrl+Z, which would be a disaster in daily use. Right Ctrl on its own, or Ctrl plus the Windows key, collide with nothing.
- The model unloads when idle. Ollama drops the model out of memory after a few minutes of inactivity, so your first cleanup after a break is slow, and the rest are quick. Setting OLLAMA_KEEP_ALIVE to 30m keeps it warm.
Does AI cleanup fix a bad transcript?
No. Post-processing repairs grammar, punctuation and formatting, but it cannot recover words that were never transcribed correctly. If the speech model mishears a sentence, the language model receives that mistake as input and tidies the mistake. Fix audio quality at the source with a better microphone and a held hotkey.
This is the single most useful thing to tell your team on day one. When someone reports that “the AI is not working,” the problem is almost always the microphone, the room, or letting go of the key too early. Holding the hotkey for a full second before speaking fixes more complaints than any settings change.
Should your team switch?
If dictation is already part of how your people work and you are paying per seat for it, the maths is not close. If nobody on your team dictates today, do not start by installing anything. Get one person to try Windows voice typing, which is already on every machine, and see whether the habit sticks at all. Plenty of people try dictation and quietly go back to typing, and discovering that costs nothing.
If it does stick, install Handy on your own machine first and run it on real work for a week before it goes anywhere near the team. You will find your own microphone problems and hotkey conflicts, and you will write a much better internal guide for having hit them yourself.