Skip to content

bmac902/mistr-flow

Repository files navigation

Mistr Flow

"Dictate messy. Paste clean."

Mistr Flow is a tiny Windows dictation app with manners. Press a hotkey, speak naturally, and it transcribes, lightly polishes, and pastes the result into whatever app you are already using.

No voice-control grammar. No command language. No SaaS dashboard. Just a cheerful little gentleman tidying your rambling into usable text.

This is a personal project, actively used day to day, and still evolving as the rough edges reveal themselves.

Mistr Flow hero: Dictate messy. Paste clean.

What it does

  • Starts dictation from a global hotkey: Ctrl+Alt+D.
  • Records until you press the hotkey again.
  • Sends the audio to OpenAI Whisper for transcription.
  • Uses an LLM polish pass for punctuation, grammar, and spoken-list formatting.
  • Copies the polished text to the clipboard and pastes it into the active app.
  • Shows a small always-on-top overlay so you know what state it is in.
  • Mutes system audio while recording by default, then restores it afterward.

The polish step is deliberately conservative: it should clean up words, not reinterpret them. Mistr Flow is meant to be a valet, not a ghostwriter.

The eight states

The overlay is intentionally small and expressive. The mascot gives just enough feedback to be reassuring without stealing attention.

Mistr Flow eight overlay states: idle, listening, recording, processing, polishing, done, error, cancelled.

Current shape

Mistr Flow is a personal Windows-first Electron app built with TypeScript. It currently assumes:

  • Windows desktop.
  • An OpenAI API key.
  • English dictation.
  • A hand-edited JSON config file rather than a settings UI.

Setup

Install dependencies:

npm install

Create the config file at %APPDATA%\MistrFlow\config.json:

{
  "openaiApiKey": "sk-...",
  "muteSystemAudioWhileRecording": true
}

Build and run:

npm run build
npm start

Once running, press Ctrl+Alt+D to start recording, press it again to stop, and press Esc during a recording to cancel.

Development

npm run test
npm run typecheck
npm run build

The production entry point is src/main.ts; the overlay lives in public/overlay.html and public/overlay-renderer.js. Design references and extracted mascot assets live under docs/design/.

Design principle

The joke makes the tool lovable, but it must never slow the user down. The mascot is delightful seasoning — not the meal.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors