Denis Dmitriev
All projects
Tool/Live/2026

Meeting transcription, run locally

Call recordings become text and a meeting card on your own machine — nothing leaves for somebody else's cloud.

  • A recording turns into a transcript, a summary and a decision list in Telegram
  • Client conversations never leave the laptop: the speech model runs locally
  • Nothing to launch: a file appears, a card arrives

The problem

Every convenient transcription service wants you to upload the recording of your negotiation to their servers. For client meetings that's a non-starter, and transcribing by hand costs an hour of work per hour of meeting.

How it works

A local speech model on Apple's accelerator, plus two background daemons: one watches a folder and transcribes, the other feeds fresh recordings into it via hard links so gigabytes never get copied around the disk. The server half turns the transcript into a meeting card with decisions and pushes it to the messenger.

The hard part

Three traps that aren't in any documentation. macOS background jobs don't inherit the user environment and simply fail to find the media converter. The priming hint I used to improve Russian recognition sends the model into a repetition loop — cured by deleting it, not by tuning it. Recordings from one messenger can't be seeked until the container is repackaged. Half a day each, and none of them searchable.

Evidence

  • The pipeline runs on real meetings daily
  • Card buttons are bound to the bot that sent them — otherwise approvals hang forever
  • Transcript and card appear without a single manual step

Stack

Whisper large-v3-turboMLXPythonlaunchdffmpegaiogram