
Ever been in a meeting where you wanted to focus on your work but still catch the important bits? That's exactly why I created Recap.
I found myself constantly torn between paying attention to meetings and getting actual work done. Sometimes I'd miss crucial decisions while coding, or I'd lose my flow state trying to take notes. I needed something that could listen for me and give me the highlights afterward.
But here's the thing - I didn't want my private conversations floating around on some company's servers. When you're discussing sensitive business matters, product roadmaps, or personal topics, that data should stay on YOUR machine. That's why Recap processes everything locally on your Mac using Apple's own technologies.
Recap is broken in its current state, but since I use it daily myself, you can absolutely expect new features soon!
Tip
Recap is in an incomplete state and I suggest that it is not used for production and daily usage, but help in shaping it is greatly appreciated.
Recap is an open-source, privacy-focused, macOS-native project to help you summarize your meetings. You could summarize audio of any app, not just meetings.
- Meeting Detection: Automatically detects meetings in Microsoft Teams, Zoom, Google Meet, and more using macOS ScreenCaptureKit (Coming Soon!)
- Audio Recording: Records system audio and optionally microphone input
- Local Processing: Uses WhisperKit for transcription and Ollama/(optionally, OpenRouter) for summarization
- Privacy First: No data leaves your device unless you choose to share it
- Open Source: Fully transparent codebase for community contributions
- Native Core Audio taps, AVAudioEngine, driver-free system audio capture
- WhisperKit (MLX) (local transcription), Ollama/OpenRouter (summarization)
- Swift + SwiftUI
Working on the following features now:
- Meeting Detection (Teams, Zoom, Google etc) (PR In progress)
- Custom Prompt Via Settings (PR In Progress)
- Live Transcription using Parakeet V2 (PR In Progress)
- Background Audio Processing
- Auto Recording Stop
- Better Error Handling
- 85% or more test coverage
Right now, Recap is more of a POC of what I am trying to make. It records system audio (Core Audio Taps) + with an optional microphone recording (your audio) and feeds it to Whisper for transcription and then uses Ollama for summarizing.
LLM Options:
- Ollama (recommended): Complete privacy - everything stays on your device
- OpenRouter: Cloud-based option if you lack local compute capacity, but data leaves your device
Ollama (Local Processing)
Component | Minimum | Recommended |
---|---|---|
macOS | 15.0 or later | 15.0 or later |
Processor | Apple M1 | Apple M2 Pro or newer |
RAM | 16 GB | 32 GB or more |
Storage | 10 GB free space | 50 GB free space |
OpenRouter (Cloud Processing)
Component | Minimum | Recommended |
---|---|---|
macOS | 15.0 or later | 15.0 or later |
Processor | Apple M1 | Apple M2 or newer |
RAM | 8 GB | 16 GB or more |
Storage | 2 GB free space | 5 GB free space |
Note: Intel Macs are not supported. Use it at your own risk.
┌───────────────┐
┌───┤ 1. App Start │
│ └───────────────┘
▼
┌─────────────┐
│2.App Select │
└─────────────┘
│
▼
┌────────────────────────┐
│3. Start Recording │
│ • System Audio │
│ • Microphone (opt) │
└────────────────────────┘
│
▼
┌────────────────────────┐
│4. Stop Recording │
│ • Save Audio Files │
│ • Create DB Record │
└────────────────────────┘
│
▼
┌────────────────────────┐
│5. Background Process │
│ • Transcribe Audio │
│ • Generate Summary │
└────────────────────────┘
│
▼
┌────────────────────────┐
│6. Complete & Store │
│ • Update DB Record │
│ • Show Results │
└────────────────────────┘
Currently, Recap is only available through compilation from source. Pre-built releases will be available once core features are stabilized.
-
Prerequisites:
- Ensure your system meets the requirements above
- Install Xcode 15.0 or later from the Mac App Store
-
Clone and Build:
git clone https://github.com/rawandahmad698/recap.git cd recap open Recap.xcodeproj
-
Build in Xcode:
- Build and run (⌘+R)
Note: Distribution via Mac App Store and direct download will be available in future releases once the app reaches production readiness.
- Support for Keychain-based token storage soon
Before using, you need to set up the following environment variables using Xcode Scheme Editor:
-
HF_TOKEN
(Required): Hugging Face token for downloading Whisper modelsHF_TOKEN="your_huggingface_token_here"
Read Hugging Face documentation to get a token!
-
OPENROUTER_API_KEY
(Optional): Only required if using OpenRouter for summarizationOPENROUTER_API_KEY="your_openrouter_api_key_here"
Read OpenRouter documentation to get a key!
-
Download Ollama here: Ollama
-
Pull the latest models (i.e. Llama 3):
ollama pull llama3
-
Download & Select a Model:
- Open Recap and go to Settings → Whisper Models
- Download a Whisper model (recommended: Large v3 for best accuracy)
- Wait for the download to complete before proceeding
-
Configure LLM Provider:
- Go to Settings → LLM Models
- Choose your preferred provider (Ollama or OpenRouter)
- If using Ollama, ensure it's installed and running locally
-
Start Recording:
- Select an audio application from the dropdown
- Click the record button to start capturing
- Optionally enable microphone for dual-audio recording
- Click stop when finished - processing will begin automatically
I really need help finishing Recap! Any contribution is greatly welcomed.
Focus:
- See Roadmap above for current focus areas
- Fork the repository and create a feature branch
- Submit a pull request with clear description of changes
All skill levels welcome - from fixing typos to architecting new features. I really mean it!
Not using any linter right now, but I am planning to use SwiftLint/SwiftFormat in the future (PRs greatly welcomed).
Copyright © 2025 Rawand Ahmed Shaswar
Permission is hereby granted to any person or entity to use, modify, and deploy this software for any purpose, commercial or otherwise, provided that this notice appears in all copies or substantial portions of the software.
Redistribution of this software, in source or binary form, original or modified, is prohibited without express prior written consent from the copyright holder.
What this means:
- Any kind of usage allowed — personal, educational, or commercial use and modification is permitted.
- Redistribution prohibited — you may not redistribute the original or modified project in any form.
Please see the LICENSE file for full details.