Runs on your own hardware
Scribe
Transcribe every meeting and search every word, without sending a second of audio to someone else’s computer.
Teams whose conversations aren’t allowed to leave the building, and anyone who would just prefer they didn’t.
Thursday planning
- Speaker 0
Okay, first thing. Where are we on the release?
- Speaker 1
The build’s ready. I’d like it out on the fourteenth if QA signs off by Monday.
- Speaker 2
QA can do Monday. The only open bug is the printer driver on the old laptops.
- Speaker 0
Let’s not hold the date for that. Ship it with a note about the known issue.
- Speaker 1
Works for me. Next is the budget for the office chairs.
- Speaker 2
Facilities says there’s about four thousand dollars left this quarter.
- Speaker 0
That covers twelve chairs. Can you send me the quote by Friday?
Search by meaning
“how much is left to spend”
- Speaker 2
Facilities says there’s about four thousand dollars left this quarter.
keyword – · meaning #1 · 0.0164 - Speaker 1
Works for me. Next is the budget for the office chairs.
keyword – · meaning #2 · 0.0161 - Speaker 0
That covers twelve chairs. Can you send me the quote by Friday?
keyword – · meaning #3 · 0.0159
What it does
Meeting transcripts and search that run entirely on your own hardware.
You host all of it yourself: a Rust server running speech models through ONNX, Postgres with pgvector for search, and an iPhone recorder app that pairs with the server by scanning a QR code. The server installs with one command on Windows, Linux or macOS. The iPhone app isn’t on the App Store yet, so for now you build it yourself in Xcode.
- 01
Transcripts with speaker labels and summaries from a local LLM, no cloud APIs
- 02
Search your whole meeting archive by meaning, not just keywords
- 03
An iPhone recorder app that finds the server on your network and pairs with a QR code
- 04
One-command install that also handles updates, with an option to publish the server on your Tailscale network
After you stop recording
Six jobs, queued in Postgres.
Text shows up while you’re still recording. When you stop, the whole meeting runs through again so the speakers can be told apart. Each step is a job in Postgres that the worker claims with SKIP LOCKED, and you can hold the heavy ones for hours you pick, like overnight.
transcodeffmpeg turns the phone’s audio into a WAV the models can read.
transcribediarizeSpeech to text, and who spoke when. Both work from the same audio at once.
mergeWords get their speakers. This is the transcript you read.
embedsummarizeSpeaker turns become search vectors, and a local model through Ollama writes the summary.
The phone side
Your phone records. Your server does the rest.
- 01
Find server
The app looks for the server on your network, then pairs by scanning a QR code from it.
- 02
Record anywhere
Audio goes up in short segments while you record, so the transcript starts before the meeting ends.
- 03
Reach it from outside
The installer can publish the server on your Tailscale network. A phone signed in to the same Tailscale account doesn’t need a device key.
- 04
Built in Xcode for now
The iPhone app isn’t on the App Store yet. You build it from the repository and install it yourself.
Specification
What it’s built with, and when.
Pulled from the repository each time this site is built.
- State
- Shipping
- Discipline
- Applications
- Shape
- Installed software
- Started
- Jun 2026
- Last change
- Oct 2026
- Commits
- 146
- Rust
- ONNX Runtime
- Postgres
- pgvector
- React Native
- Tailscale
- Rust 56%
- TypeScript 29%
- Shell 5%
- PowerShell 3%
Next
Install Scribe
The server installs with one command. It sets up Postgres, downloads the speech models (about 750 MB), and can publish itself on your Tailscale network.
curl -fsSL https://raw.githubusercontent.com/dmoore-dwmmholdings/scribe-local/master/install.sh | bash
On Windows, run it from Git Bash and it installs the latest release. On Linux and macOS it runs the server in Docker. Add --service to start it at boot, or --no-tailscale to keep it on your local network. The iPhone app is built from source in Xcode for now.
Questions, or something it doesn’t do yet? Email dmoore@