From install to first captured meeting in under 5 minutes. A lightweight daemon handles everything behind the scenes.
Lightweight binary, under 20MB
Download and install the MeetCapture daemon for your platform. It runs as a background service and auto-starts with your OS. No admin privileges required on macOS; a one-time UAC prompt on Windows.
# macOS + Linux
curl -fsSL https://fluentko.com/install.sh | bash
# Windows (PowerShell)
iwr https://fluentko.com/install.ps1 -UseBasicParsing | iex
# Or grab a binary directly from GitHub Releases:
# https://github.com/fyrosofttech/meetcapture-releases/releases/latest
# Verify install
meetcapture --version
# meetcaptured 0.1.1One config file, sensible defaults
Edit the config.toml file in your MeetCapture data directory. Set your API key, choose which platforms to monitor, configure audio/video settings, and optionally enable cloud sync. Most settings have sensible defaults.
# MeetCapture Configuration
[general]
api_key = "mc_live_abc123..."
output_dir = "~/.meetcapture/recordings"
log_level = "info"
[detection]
auto_detect = true
platforms = ["zoom", "teams", "meet", "slack"]
poll_interval_ms = 1000
[audio]
enabled = true
sample_rate = 48000
[video]
enabled = true
fps = 15
quality = "balanced"
[transcription]
enabled = true
provider = "deepgram"
model = "nova-2"
diarize = true
[cloud]
enabled = true
auto_upload = trueAutomatic meeting detection and recording
Once running, the daemon monitors your system for active meetings. When Zoom, Teams, Meet, Slack, or Webex is detected, it automatically begins capturing audio, recording video, and streaming to the transcription provider. You get a local notification and a system tray indicator.
[2026-04-05T10:30:12Z INFO] Daemon started, watching for meetings...
[2026-04-05T10:32:45Z INFO] Meeting detected: Zoom (pid: 4821)
[2026-04-05T10:32:45Z INFO] Window: "Q4 Planning - Zoom Meeting"
[2026-04-05T10:32:46Z INFO] Audio capture started (48kHz, stereo)
[2026-04-05T10:32:46Z INFO] Video capture started (1920x1080, 15fps)
[2026-04-05T10:32:46Z INFO] Transcription stream opened (deepgram/nova-2)
[2026-04-05T10:32:47Z INFO] Speaker detected: "Sarah" (confidence: 0.94)
[2026-04-05T11:01:22Z INFO] Meeting ended, finalizing...
[2026-04-05T11:01:24Z INFO] Recording saved: session_abc123.mp4 (84MB)
[2026-04-05T11:01:24Z INFO] Transcript saved: 847 segments, 4 speakersAutomatic upload to Supabase
After the meeting ends, the daemon uploads the recording to Supabase Storage and inserts session metadata and transcript segments into PostgreSQL. Uploads are resumable, so large recordings survive network interruptions. All data is organized under your organization with RLS policies.
[2026-04-05T11:01:25Z INFO] Starting cloud sync...
[2026-04-05T11:01:25Z INFO] Uploading recording (84MB)...
[2026-04-05T11:01:38Z INFO] Recording uploaded to: recordings/org_123/session_abc123.mp4
[2026-04-05T11:01:39Z INFO] Session created: mc_sessions.id = "session_abc123"
[2026-04-05T11:01:39Z INFO] Transcript synced: 847 segments to mc_transcript_segments
[2026-04-05T11:01:40Z INFO] Webhook fired: session.completed -> https://your-app.com/hooks
[2026-04-05T11:01:40Z INFO] Cloud sync complete.REST API, webhooks, or dashboard
Access your meeting data through the REST API, receive real-time webhook notifications, or use the web dashboard for playback and search. Since everything is stored in Supabase, you can also use any Supabase client library directly.
# List recent sessions
curl -s https://xrhwfuquudleamotznzx.supabase.co/rest/v1/mc_sessions \
-H "apikey: YOUR_ANON_KEY" \
-H "Authorization: Bearer YOUR_JWT" \
-H "Content-Type: application/json" \
| jq '.[] | {id, title, platform, duration_seconds, created_at}'
# Get transcript for a session
curl -s "https://xrhwfuquudleamotznzx.supabase.co/rest/v1/mc_transcript_segments?session_id=eq.session_abc123&order=start_ms" \
-H "apikey: YOUR_ANON_KEY" \
-H "Authorization: Bearer YOUR_JWT" \
| jq '.[] | {speaker, text, start_ms, end_ms}'
# Get signed URL for recording playback
curl -s "https://xrhwfuquudleamotznzx.supabase.co/storage/v1/object/sign/recordings/org_123/session_abc123.mp4" \
-H "Authorization: Bearer YOUR_JWT" \
-d '{"expiresIn": 3600}'<20MB
Binary Size
<5min
Setup Time
~2%
CPU Usage
~50MB
RAM Usage
Install the daemon, configure your API key, and start capturing meetings today.