About Me.txtMy ProjectsWeb BrowserResume.docContactRecycle Bin
Local Flow
File
Help
JIANHAO'S WEB / LOCAL_FLOW.APP
BUILT THINGS / 01

TALK.IT TYPES.

$0.88July to September

Local Flow · free, open-source dictation for Mac. English, Chinese, or both in one sentence.

  • 2026
  • Solo project
  • Swift 6 · SwiftUI · AppKit
  • OpenAI or Groq, your own key
  • 478 tests
  • MIT license
View source on GitHub →
Example 1 of 2: a spoken list
Chat with your coding agent
What gets pasted
1. Fix the login bug. 2. Add a test for it.
Not sent. You press Enter yourself.
What you say
Middle click

Click, speak, click again. A drawing of the real app, not a screen recording.

Why I built it

"What am I paying $15 a month for?"

Most of my coding now happens by talking to AI coding agents, so I dictate all day. I was a loyal Wispr Flow user. Over time I started to wonder what I was paying $15 a month for, and whether it was mainly calling speech-to-text models in the cloud.

So I tried calling those APIs myself. For my daily use, the results were just as good. I stopped using Wispr Flow and built my own version.

What it does

Most features follow Wispr Flow.

Any app

Press a button, speak, and press again. The text appears at your cursor.

Two languages

English and Chinese, even when you switch mid-sentence. It transcribes and never translates.

Whisper

It works when you whisper, so you can dictate in a quiet room.

Clean text

Filler words go, punctuation is fixed, and "first... second..." becomes a numbered list.

Dictionary

Teach it the words it gets wrong, like "Gemini".

Safe paste

Your clipboard comes back. If you moved to another app, it keeps the text instead of pasting it in the wrong place.

What I changed for how I work

Six small decisions.

Mouse and keyboard together

The middle mouse button starts and stops recording, and a keyboard shortcut works at the same time.

It never presses Enter

In a chat box or a terminal, a wrong sentence sent automatically is worse than no sentence. You read it, then you send it.

Code stays as you said it

File names and commands are protected before cleanup. If the cleaned text changes too much, it pastes the plain transcript instead.

One cleanup style, not four

I built four levels, used them, and only ever wanted one. So I removed the other three.

A Cost tab

I pay per use, so the app shows what I spend each day and month.

One company per recording

If a provider fails, it never quietly sends the same recording to a second company. You never pay twice.

Make it yours

Your agent can change it.

The most useful part may not be the app itself, but how easy it is to change. I built the first working version in three days in July 2026 with AI coding agents, and every change since then was made the same way: I described what bothered me, and the agent changed the app.

# example
$ git clone https://github.com/CatMizu/local-flow
$ cd local-flow && claude
> While I am recording, show the first few words inside the capsule.
  ...the agent reads the design notes, edits the code and runs the 478 tests

The tests catch mistakes, and the main features have short design notes in the repository, so your agent can see why each one works the way it does.

What it costs

~US$0.88727 dictations · July to September 2026 · the app's own estimate

You bring your own OpenAI or Groq API key and pay only for what you use. Despite the name, speech recognition runs in the cloud, through your key.

Try it yourself

Three steps.

  1. Get the code from GitHub, then generate and open the Xcode project.
  2. Sign it with a free Apple ID and press Run.
  3. Paste your own OpenAI or Groq key in Settings.

There is no ready-made download, because a signed download needs a paid Apple developer account. The README has every step.

Open the README →
Set up once. Talk all day.01

Back to My Projects