A local-first meeting recorder, transcriber, and summarizer for macOS. No bots join your calls, and your audio never leaves your Mac unless you choose to.
Purpose
Most meeting-note tools work by having a bot join your call, or by integrating with a specific platform's API — which means per-platform maintenance and a bot visibly sitting in your meeting. This works at the operating-system audio layer instead, so it works identically whether you're in Microsoft Teams, Google Meet, Zoom, FaceTime, or anything else that plays audio through your Mac.
How it works
01 — Capture
Records your selected mic input and your Mac's system/output audio at the same time, so the transcript captures both sides of the conversation — however everyone else is joining.
02 — Transcribe, locally
Audio is transcribed on-device with MLX Whisper, Apple's MLX framework running Whisper natively on Apple Silicon. Nothing is uploaded for this step — it's free, fast, and private.
03 — Summarize, with your agent
The small, text-only transcript is handed to a summarization backend you configure: Anthropic, AWS Bedrock, OpenAI, OpenRouter, a local Ollama model, or a custom command. This is the only step that can leave your machine, and only if you choose a cloud backend.
Design principles
Recording and transcription never touch the network. Your meeting audio never leaves your Mac.
Capturing at the OS audio layer instead of integrating with each platform's API means it works identically across Teams, Meet, Zoom, or anything else — no bot needs to join, no per-platform maintenance.
The summarization step is a pluggable interface, not a hardcoded call to one vendor. Use whichever AI agent you already trust and pay for — including a fully local model via Ollama, for an end-to-end zero-cloud setup.
How to use it
Requires macOS on Apple Silicon (MLX requires it), uv for Python/dependency management, and ffmpeg on your PATH (brew install ffmpeg). To capture other participants' audio (not just your own voice) you'll also need BlackHole to route system audio in — the repo has a step-by-step guide for that setup.
# install dependencies
uv sync --all-extras
# one-time interactive setup
# (pick device, agent, API key, summary style)