A lightweight desktop app that captions a room as people speak. It captures the presenter’s microphone or the computer’s own audio output, streams it to a realtime speech model, and displays the text in a transparent, always-on-top overlay that can be positioned over the slides.

I wrote it for the Digital Humanities and Artificial Intelligence in African Studies workshop at the Stellenbosch Institute for Advanced Study, 21–24 September 2026, where papers and discussion run in English and French. The workshop is hybrid, so the app can take the room microphone, the Teams or Zoom feed, or both at once.

Two modes

  • Live translation: Google Gemini or OpenAI detects the spoken language and returns English or French.
  • Live subtitles: Mistral’s Voxtral transcribes without translating. The transcript saves as plain text or Markdown.

What it costs to run

All three providers bill per minute of streamed audio, so a session costs money for as long as it is open. An hour of translation runs to about $1.25–2.21 on Gemini or $3.06 on OpenAI, an hour of subtitles about $0.36. Captioning two audio sources at once doubles those figures. The repository documents the per-minute rates behind them.

How it’s built

A Tauri app with a Rust core and a SvelteKit front end, in two windows: an operator panel for controls, meters and export, and the click-through caption overlay. Rust handles capture, including WASAPI loopback for system audio on Windows, and the WebSocket session that deals with timeouts, reconnection and stale audio. API keys stay in the operating system’s keychain and are read only by the Rust side. The code is MIT.