Overview
Cloud notetakers solve the problem by uploading your meeting. That is a reasonable engineering choice and an unreasonable privacy one, and it also means the tool only works where a bot can be invited.
Meeting Bot takes the other path. It captures the audio already playing on the Mac (Zoom, Meet, Teams, FaceTime, or a browser tab), so it needs no meeting-platform integration and works everywhere by construction. Transcription runs locally through Whisper. The only optional network call sends finished transcript text for summarization, and that endpoint can be pointed at a local model instead.
How it works
- System-audio capture through a small Swift helper (
audiocap), riding the macOS screen-recording permission that system audio sits behind. - Speaker attribution without diarization in the common case: your microphone is “Me” and system audio is “Them”, with optional Speaker A/B/C diarization layered on top.
- Structured output per meeting: summary, decisions, action items, and the full transcript, rather than an undifferentiated wall of text.
- Templates for general, standup, 1:1, interview and sales-call shapes, so the summary prompt matches the meeting type.
- On-device transcript cleanup that strips filler, stutters and false starts, plus on-demand rewrites: key points, formal, short, long.
- Talk-time analytics per note: Me/Them ratio, word counts, turn counts, longest monologue.
- Search and ask across every meeting, including Q&A over the archive.
Three front-ends, one engine
The same core is driven by a native macOS SwiftUI app, a Chrome extension, and a CLI, with an iOS companion that records from the microphone on-device. Keeping the engine separate from the surfaces is what makes three front-ends affordable to maintain: each one is a thin driver over the same record, transcribe, summarize and export pipeline.
Results
- Raw audio and transcripts stay on the machine; the privacy property is enforced by where the compute happens, not by a policy document.
- Runs at zero cost: local Whisper plus a free inference tier, with a local-model escape hatch for summarization.
- Exports to Markdown, Apple Notes (iCloud or on-device) and Google Docs.
- Continuous integration runs on GitHub Actions.