← All projects

Radio Command Center

Radio transcription and a live operations dashboard.

Status
Released
Platforms
Mac, Web
Started
2026
Built with
Python, FastAPI, Whisper, SQLite FTS5, WebSockets, Swift

Why I made it

Radio traffic at a large event is fast, and anything said once is easy to miss. This turns every transmission into searchable text the team can act on.

It runs on one Mac on the local network, and it's built not to lose transmissions when things fail: if the network drops or transcription stops, recordings are kept and the dashboard catches up when it's back.

What it does

  • Syncs recordings from a local or network folder, live audio first, with optional checksum verification.
  • Whisper transcription with a quality gate; doubtful transcripts are held for a supervisor.
  • Full-text search across every year, with phrases, highlights, filters and saved searches.
  • Alert rules by term, channel and time window, with acknowledgement and assignment.
  • Incident timelines that group transmissions, with an owner, location, tasks, notes and shift handoffs.
  • Live updates to every connected operator, and four access levels from viewer to administrator.
  • A health centre, verified backups with restore, and signed in-app updates.

Screenshots

Radio Command Center screenshot: operations board
Radio Command Center screenshot: archive search
Radio Command Center screenshot: alert inbox
Radio Command Center screenshot: incident
Radio Command Center screenshot: system health

Under the hood

  • Transcription runs in two passes: Whisper Medium first, then a lower-priority Large V3 retry for flagged clips, which replaces the text only when it's clearly better.
  • A durable outbox retries notifications after outages, and browsers recover anything they missed when they reconnect.
  • The updater checks the download's hash, code signature and bundle ID, snapshots the database, and keeps the previous version for rollback.