Voom icon

Voom

Open-source Loom alternative for macOS. Record your screen, camera, and mic — get a shareable link in seconds.

## What it does ### Recording - **Screen recording** — capture any display at full retina resolution (HEVC) - **Camera-only mode** — record webcam directly without screen capture - **Region selection** — drag to select a portion of your screen to record - **Camera overlay** — picture-in-picture webcam with draggable corner positioning - **System + mic audio** — record both simultaneously - **Drawing tools** — annotate your screen live during recording (freehand, arrows, shapes, text) - **Pause/resume** — pause and resume recording without splitting files ### Post-recording - **On-device transcription** — powered by FluidAudio, fully offline - **Speaker diarization** — identifies who said what in meeting recordings, with "You" labeling for the local user - **Trim** — cut the start and end of a recording - **Cut/splice** — remove sections from the middle of a recording - **Stitch** — combine multiple recordings into one - **Filler word removal** — detect and cut "um", "uh", "like", etc. from transcribed recordings - **Auto chapters** — AI-generated chapter markers spanning the full recording duration - **Bring your own AI** — connect your own OpenAI, Anthropic, Google, or xAI API key for better AI generation, with automatic on-device fallback - **GIF export** — copy a GIF of the first 15 seconds to clipboard ### Organization - **Folders** — organize recordings into color-coded folders - **Tags** — add color-coded tags and filter by them - **Search** — search across titles and transcripts ### Sharing - **Share via link** — upload to your own Cloudflare infrastructure, get a clean share page with synced transcript and captions - **Password protection** — optionally require a password to view shared recordings - **Emoji reactions** — viewers can react at specific timestamps - **Timestamped comments** — viewers can leave comments tied to video timestamps - **CTA buttons** — add a call-to-action overlay that appears when the video ends - **View notifications** — get macOS notifications when someone watches your recording - **30-day expiry** — links auto-expire, daily cron cleans up storage ## Voom vs Loom | | Voom | Loom | |---|---|---| | **Price** | Free, forever (including cloud sharing) | $15/user/month (Business) | | **Privacy** | Recordings stay on your Mac. Cloud sharing is opt-in to your own infra | All recordings uploaded to Loom servers | | **Recording quality** | Full Retina resolution, HEVC hardware encoding | 720p–1080p, software encoding via ffmpeg | | **Transcription** | On-device via FluidAudio — nothing leaves your machine | Cloud-based | | **Editing** | Trim, cut/splice, stitch, filler word removal | Trim only (paid) | | **Recording limit** | Unlimited, any length | 5 min (free), 45 min (business) | | **Open source** | Yes (MIT) | No | | **Native** | Swift/SwiftUI (~5 MB) | Electron (~200 MB) | | **Platform** | macOS | macOS, Windows, Chrome, iOS, Android | ### Meetings - **Meeting detection** — auto-trigger floating panel when video calls begin - **Split-track diarization** — separate mic and system audio for accurate speaker identification - **"You" labeling** — local user's speech identified separately from remote participants - **Meeting summaries** — AI-generated title, summary, and action items ## Architecture ``` Voom/ macOS app (Swift, SwiftUI, ScreenCaptureKit) Packages/ VoomCore/ Core services: capture, transcription, storage, text analysis VoomApp/ Application layer over VoomCore VoomAI/ BYOK AI provider integration (OpenAI, Anthropic, Google, xAI) VoomMeetings/ Meeting detection, recording, diarization, analysis voom-share/ Cloudflare Worker (R2 + D1 + Workers) ``` The app is entirely local-first. Cloud sharing is opt-in per recording and runs on your own Cloudflare account — completely free under Cloudflare's free tier. ## Setup ### macOS App Open `Voom/Voom.xcodeproj` in Xcode and build. Requires macOS 15+. ### Cloud Sharing (optional) **Option A: In-app setup wizard (recommended)** Open Settings → Cloud Sharing → Self-Host. Paste your Cloudflare API token and account ID. The app creates the R2 bucket, D1 database, runs migrations, deploys the worker, and configures everything automatically. **Option B: Manual CLI deploy** A bare `wrangler deploy` uses `wrangler.jsonc` (intentionally ID-less): Cloudflare auto-provisions a fresh R2 bucket and D1 database in your account, and the worker bootstraps its own schema at runtime — no manual migrations needed. ```bash cd voom-share npm install npx wrangler login npx wrangler deploy npx wrangler secret put API_SECRET # generate a long random value ``` (If you maintain an existing deployment configured in `wrangler.toml`, deploy it with `npm run deploy` instead — that pins `--config wrangler.toml`.) Then in the app: Settings → Cloud Sharing → paste your Worker URL and API secret. ### Cloudflare Free Tier Cloud sharing runs entirely within Cloudflare's free tier: | Service | What Voom uses it for | Free tier | |---------|----------------------|-----------| | Workers | API + share page | 100,000 requests/day | | R2 | Video file storage | 10 GB + zero egress | | D1 | Metadata, transcripts, comments | 5 GB + 5M reads/day | | Cron Triggers | Daily expiry cleanup | Included | No credit card required. You'd only need a paid plan ($5/mo) if you exceed these limits. ## Share Page Each shared recording gets a minimal dark page with: - Video player with range-request seeking - Live captions (CC toggle) - Clickable synced transcript - Emoji reactions at timestamps - Timestamped comments - Optional password protection - Optional CTA button overlay ## Stack | Component | Technology | |-----------|-----------| | App | Swift, SwiftUI, ScreenCaptureKit, AVFoundation | | Encoding | HEVC (VideoToolbox hardware encoder) | | Transcription | FluidAudio (on-device, Apple Silicon) | | Speaker Diarization | FluidAudio (on-device, Apple Neural Engine) | | Storage | Cloudflare R2 | | Database | Cloudflare D1 (SQLite) | | API + Share Page | Cloudflare Workers | ## License MIT