Ctrl K
ComunidadGuías…

README.md

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
<p align="center">
  <img src="icon.png" width="128" height="128" alt="Voom icon">
</p>

<h1 align="center">Voom</h1>

<p align="center">Open-source Loom alternative for macOS. Record your screen, camera, and mic — get a shareable link in seconds.</p>

## 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