
Get AI income methods before they spread.
Free weekly intelligence newsletter.
Albert replaced Fathom — which costs $20 per month — with a self-hosted AI meeting recorder that transcribes faster, lets you ask questions about any past meeting, and costs nothing to run. The full stack is open source: an Electron desktop app for recording, a Next.js web app for the interface, Groq for near-instant transcription, and Claude for timestamped Q&A.
What Does the System Do That Fathom Cannot?
The core difference is the Q&A layer. Fathom produces a transcript and summary. This system lets you ask Claude specific questions about any meeting and get answers with timestamps — click the timestamp to jump to that point in the recording. “What did the client say about budget?” returns the exact quote and the moment in the call where it was said.
Timestamped answers mean you never scrub through a recording manually again.
The second difference is cost. After the initial build, the running cost is Groq API calls (fractions of a cent per minute of audio) and Cloudflare R2 storage (effectively free at meeting recording volumes). No subscription, no per-seat pricing.
How Does the Two-Part Architecture Work?
The system has two pieces that work together:
Electron desktop app — runs on your Mac or Windows machine. Captures both screen and audio using BlackHole (a virtual audio device on Mac) to record system audio alongside your microphone. The recording saves locally and uploads to Cloudflare R2 automatically when the meeting ends.
Next.js web app — deployed to Vercel. Shows all your recordings, runs transcription via Groq, stores transcripts in MongoDB, and provides the Claude Q&A interface. You open it in a browser after any meeting to review and query the transcript.
The two pieces communicate through Cloudflare R2 as a shared storage layer. The desktop app writes; the web app reads.
Why Groq Instead of Whisper for Transcription?
Groq processes audio significantly faster than running Whisper locally or via OpenAI's API. For a 30-minute meeting, Groq returns the transcript in a few seconds. Whisper on a standard laptop takes longer than the meeting itself. For a tool you want to use immediately after a call, the speed difference is the difference between using it and not using it.
Groq is faster than Whisper for meeting-length recordings — by a significant margin.
Groq's API pricing is low enough that the cost per meeting is negligible. The full repository uses Groq as the default and includes fallback options.
How Do You Set Up the Full Stack?
Clone the repository. Deploy the Next.js app to Vercel and connect a MongoDB database (MongoDB Atlas free tier is sufficient). Set up a Cloudflare R2 bucket for recording storage. Install BlackHole on Mac to enable system audio capture. Configure Groq and Anthropic API keys in the web app's environment variables. Install the Electron app on your machine.
Total setup time: two to three hours the first time. The result is a self-hosted meeting intelligence system you control completely — no vendor dependency, no subscription renewal risk, no data leaving your infrastructure.
Frequently Asked Questions
Does the recording capture both sides of the conversation on a video call?
Yes, when configured correctly. BlackHole creates a virtual audio device that captures all system audio — including the other participants on a Zoom, Meet, or Teams call — alongside your microphone input. The Electron app mixes both channels into the recording. Setup instructions for BlackHole are included in the repository.
How does the Claude Q&A work with timestamps?
Groq returns the transcript with word-level timestamps. The system stores these in MongoDB alongside the transcript text. When you ask Claude a question, it searches the transcript, identifies the relevant section, and returns the answer with the timestamp of the corresponding text. The web app renders timestamps as clickable links that jump to that point in the audio.
What does Cloudflare R2 cost for storing meeting recordings?
Cloudflare R2 charges zero egress fees and $0.015 per GB of storage per month. A one-hour meeting recording at reasonable quality is roughly 100MB. Storing 50 hours of meetings per month costs under $1. The free tier covers 10GB, which is enough for most users.
Can this be used in a team environment, or is it single-user only?
The current open-source version is designed for personal use. Adapting it to a team requires adding authentication, per-user storage namespacing, and shared access controls to the web app. Albert notes this is a natural next step — the architecture supports it, but the current release does not include it out of the box.
Watch Albert build the full system: Albert Olgaard on YouTube

Get AI income methods before they spread.
Free weekly intelligence newsletter.

Claude Design Beginner’s Guide: Build Your Brand in One Session