Meeting recorder for macOS. Records, transcribes and summarizes on your Mac, with any meeting app.
Private by design: your audio never leaves the machine, and you own every file it writes. No account, no tracking, no analytics.
Named after a real dog.
- 🔒 Nothing leaves your Mac. Recording and transcription are fully on-device, summaries too unless you deliberately point them at a cloud model. No backend, no telemetry, nothing phones home.
- 🎙 Works with any meeting app. Mic and system audio recorded as separate tracks, so Zoom, Meet, Teams or anything else that makes sound just works.
- ⚡ Live transcription on the Neural Engine. Parakeet TDT v3 transcribes while you talk, in whatever language the meeting happens to be in.
- 📝 Summaries by the model you choose. Quick recap with next steps plus a point-by-point account, written on-device (MLX or Apple Intelligence) or by Claude, your Claude Code login, or any OpenAI-compatible API.
- 📦 Your data is just files. Plain m4a, JSON and Markdown on disk. Export a whole meeting as one
.zecaarchive and import it anywhere.
And the rest:
- Day dashboard with macOS and Google Calendar events, one click to join a call with recording already running, weekly stats.
- Paste a Zoom
.vttor plain "Name: sentence" lines and get the same summaries, no audio needed. - Translation of transcript, summary and notes on demand, cached per language.
- Speakers stay simple: "You" and "Others", double-click to rename. No diarization guesswork.
- The bundled model catalog comes from a real benchmark, not vibes: BENCHMARK.md.
- Automatic titles, a pause that really cuts the audio, a menu bar timer, and a warning when mic and speakers are different devices (echo cancellation likes them equal).
Everything is plain files under ~/Library/Application Support/Zeca/Recordings/<timestamp>/:
mic.m4a system.m4a audio tracks (absent in imported meetings)
meeting.m4a combined mix (created on first play)
transcript.json turns with speaker, start/end, text
summary.md notes.md generated documents
summary.model.txt which model generated each document
notes.model.txt
title.txt offsets.json metadata
translation-<lang>.json cached transcript translations
summary-<lang>.md cached document translations
notes-<lang>.md
zeca.json import manifest (only in imported meetings)
- macOS 15+ (Liquid Glass UI on macOS 26; on-device summaries need macOS 26 with Apple Intelligence)
- Xcode 16+
- Optional: Anthropic API key or the Claude Code CLI (summaries), Google OAuth client (calendar)
xcodebuild -project Zeca.xcodeproj -scheme Zeca -configuration Debug \
-skipPackagePluginValidation -skipMacroValidation buildThe skip flags approve mlx-swift's build plugin and macros for command-line builds. If the build complains about a missing Metal toolchain after an Xcode update, run xcodebuild -downloadComponent MetalToolchain once.
You can also open Zeca.xcodeproj in Xcode and run. First launch downloads the Parakeet model (~650 MB) and asks for screen-recording, microphone and calendar permissions.
Zeca/ macOS app (SwiftUI)
Zeca.xcodeproj/
site/ landing page (static HTML/CSS, deployed to Cloudflare Pages)
bitmap.svg master logo (Inkscape)
Deploy the site with:
npx wrangler pages deploy site --project-name zeca