Install
You run this on a computer at home. It is not a website that holds your audio.
A computer you leave turned on helps. A graphics card makes transcription much faster. A writing model for cleanup is optional; without it you still get the raw transcript.
Get it running
git clone https://github.com/Catalyst-Forge-LLC/dictawhisper.git
cd dictawhisper
cp config.example.json config.json
# point it at your speech setup, names you say often,
# and (optionally) which computer should tidy the text
pnpm install
pnpm run doctor
pnpm dev
Open http://localhost:7777. Record, or drag a file onto the page. You do not need an extra sync tool for that.
pnpm run doctor is a checkup. It names what is missing up front instead of failing later without explanation. If the cleanup model cannot be reached, that is a warning rather than an error, and notes still get written.
Optional: sync a phone folder
If you already record on your phone, install Syncthing (or any folder sync tool) on both devices and share a folder to your workstation.
Add that directory to "roots" in config.json:
"watch": {
"roots": ["C:\\Users\\YOU\\VoiceNotes"]
}
Files arriving via folder sync wait 30 minutes after the last write before organizing into YYYY/MM/ and transcribing, so recordings never process mid-transfer.
Optional: read from your phone on Tailscale
If you want to open the inbox from a phone or laptop away from your desk, install Tailscale on both devices.
Set "http": { "tailscale": true } in config.json (or DICTA_TAILSCALE=1) and start the app. The checkup and startup logs print your private link. Open that from any device on the same Tailscale. There is no login on the app: access is limited to your tailnet.
Already have a pile of recordings?
pnpm retranscribe
pnpm retranscribe --dir="./notes/2026/08" --limit=5 --reclean
That walks existing notes, newest first. Every flag is in the GitHub README.