Skip to content

Rex

Rex is a native macOS menu-bar app (macOS 26+, Apple Silicon) that notices when a meeting starts, records mic and system audio as separate tracks, and turns them into a speaker-attributed transcript with local models - no account, no cloud, no upload. Every artifact is a plain file in a folder you own, and a rex CLI and workflow system share the app's engine, so anything Rex does you can script or automate.

The Rex main window with a transcribed meeting selected

Features

  • Meeting detection - when Teams, Webex or Zoom (configurable) start using the microphone, a bar at the top of the screen asks Record / Ignore; watched apps and auto-record behaviour are per-app settings.
  • Smart naming - recordings are titled from the meeting window, or from your Outlook calendar when that provider is enabled.
  • Crash-safe capture - two raw mono AAC tracks in a fragmented .m4a; a crash or kill -9 mid-meeting still leaves a playable file, recovered on the next launch. Nothing that can crash (models, AEC) runs on the capture path while recording.
  • Echo cancellation - WebRTC AEC3 removes the far end from your microphone track after the recording, so your words and theirs stay separate.
  • Local transcription - VAD → ASR per track → merge, with Parakeet (FluidAudio) or Whisper (WhisperKit) models downloaded once and run on-device.
  • Speaker diarization - the system track is split into Speaker 1..N; you are always You, and speakers can be renamed per meeting or remembered globally.
  • Per-word confidence - low-confidence spans are highlighted in the transcript view.
  • Built-in player - replay either track with the transcript following along.
  • Versioned artifacts - each meeting is a folder with audio, meeting.json, transcript.json (public, versioned schemas) and transcript.md.
  • Export & import - export md / txt / json / srt / vtt, per meeting or in bulk; import any audio file and run it through the same pipeline.
  • Workflows - plain executables fired on recording-started, recording-stopped, transcript-ready, error, or by hand - summarise with your own LLM CLI, copy to Obsidian, anything.
  • Automation - a rex:// URL scheme for Raycast and Shortcuts, plus a full rex CLI (record, transcribe, export, doctor, reindex) built on the same engine as the app.
  • Search index - a local SQLite index over your meetings, rebuildable with rex reindex.
  • Retention - optional automatic clean-up of old audio while transcripts are kept.
  • Notifications - completion notifications with an optional sound.
  • Stays out of the way - menu-bar only by default, launch at login, one config.toml shared by the app and the CLI.

Where things live

Meetings ~/Meetings/<yyyy-MM-dd HHmm Title>/ - see Artifacts
Config ~/.config/rex/config.toml - see Configuration
Models ~/Library/Application Support/Rex/Models/
Index ~/Library/Application Support/Rex/index.sqlite (rebuild with rex reindex)
Logs ~/Library/Logs/Rex/rex.log