GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - CapSoftware/Cap: Open source Loom alternative. Beautiful, shareable screen recordings.

BranchesTags
Open more actions menu

Latest commit

 

History

13,961 Commits
13,961 Commits

Folders and files

NameName
Last commit message
Last commit date
.agents/skills/building
.agents/skills/building
 
 
.claude/agents
.claude/agents
 
 
.config
.config
 
 
.github
.github
 
 
.vscode
.vscode
 
 
apps
apps
 
 
capcodec
capcodec
 
 
crates
crates
 
 
docs
docs
 
 
infra
infra
 
 
licenses
licenses
 
 
packages
packages
 
 
packaging/linux
packaging/linux
 
 
patches
patches
 
 
scripts
scripts
 
 
vendor/wgpu-hal
vendor/wgpu-hal
 
 
.dockerignore
.dockerignore
 
 
.git-blame-ignore-revs
.git-blame-ignore-revs
 
 
.gitattributes
.gitattributes
 
 
.gitignore
.gitignore
 
 
AGENTS.md
AGENTS.md
 
 
CLAUDE.md
CLAUDE.md
 
 
CONTRIBUTING.md
CONTRIBUTING.md
 
 
Cargo.lock
Cargo.lock
 
 
Cargo.toml
Cargo.toml
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 
biome.json
biome.json
 
 
bun.lock
bun.lock
 
 
bunfig.toml
bunfig.toml
 
 
docker-compose.coolify.env.example
docker-compose.coolify.env.example
 
 
docker-compose.coolify.yml
docker-compose.coolify.yml
 
 
docker-compose.template.yml
docker-compose.template.yml
 
 
docker-compose.yml
docker-compose.yml
 
 
package.json
package.json
 
 
rust-toolchain.toml
rust-toolchain.toml
 
 
tsconfig.json
tsconfig.json
 
 
turbo.json
turbo.json
 
 

Repository files navigation

Cap logo

Cap

Beautiful, shareable screen recordings. Open source, fast, and built for teams that want to own their data.

Website | Download | Docs | Pricing | Discord

Open bounties

Cap app preview

Cap is the open source alternative to Loom. It gives you fast screen recording, polished local editing, instant share links, comments, transcripts, analytics, team workspaces, custom domains, custom S3 storage, and full self-hosting when you need complete control.

Use Cap for product demos, bug reports, onboarding, tutorials, design reviews, engineering walkthroughs, async standups, client updates, and any moment where showing the work is faster than scheduling another call.

Why Cap

  • Record, edit, share. Capture your screen, camera, and microphone, then share a link or export a finished video.
  • Instant Mode for speed. Upload while recording and get a shareable link the moment you stop.
  • Studio Mode for polish. Record locally, edit with backgrounds, zooms, trimming, captions, and export controls.
  • A native desktop app. Cap runs on macOS, Windows, and Linux, with a web dashboard for viewing, sharing, and managing recordings.
  • Own your storage. Use Cap Cloud, connect your own S3-compatible bucket, keep recordings local, or self-host the full platform.
  • Privacy by default. Share publicly or privately, add passwords, use your own domain, or keep sensitive recordings off hosted infrastructure.
  • Async collaboration. Comments, reactions, transcripts, viewer analytics, and team workspaces keep feedback attached to the video.
  • Cap AI. Generate titles, summaries, clickable chapters, captions, and transcripts automatically.
  • Move from Loom. Import existing Loom videos into Cap and keep your library in one place.

Recording Modes

Mode Best for How it works
Instant Mode Fast feedback, bug reports, async updates Cap uploads while you record, then gives you a share link as soon as recording stops.
Studio Mode Product demos, tutorials, launches, client work Cap records locally, opens the editor, and lets you export or share a polished video.

Data Ownership

Cap is designed for people and teams who do not want their recording workflow locked inside a black box.

  • Use Cap Cloud for the fastest hosted experience.
  • Connect AWS S3, Cloudflare R2, Backblaze B2, MinIO, Wasabi, or another S3-compatible provider.
  • Serve share pages from your own domain.
  • Self-host Cap Web, the API, database, media server, and object storage with Docker Compose.
  • Point Cap Desktop at your self-hosted instance from Settings > Cap Server URL.

Get Started

For most users, the fastest path is:

  1. Download Cap for macOS, Windows, or Linux from cap.so/download.
  2. Sign in or create an account.
  3. Choose Instant Mode or Studio Mode.
  4. Record your first Cap.
  5. Share the link, export the file, or keep it local.

The full product docs live at cap.so/docs.

Self-Hosting

The fastest way to self-host Cap Web is Docker Compose:

git clone https://github.com/CapSoftware/Cap.git
cd Cap
docker compose up -d

Cap will be available at http://localhost:3000.

Login links appear in the service logs when email is not configured:

docker compose logs cap-web

Deployment Options

Method Best for
Docker Compose VPS, home servers, and any Docker-capable host
Railway One-click managed hosting
Coolify Self-hosted PaaS deployments with docker-compose.coolify.yml

Deploy on Railway

For production, configure public URLs and replace the default secrets before exposing the deployment to the internet:

CAP_URL=https://cap.yourdomain.com
S3_PUBLIC_URL=https://s3.yourdomain.com

See the self-hosting guide for email setup, AI providers, SSL, storage, production hardening, and troubleshooting.

For single-owner instances behind an authenticating reverse proxy, see trusted-proxy authentication for the required shared secret, proxy hardening, and how to trigger sign-in without a built-in login button.

Local Development

Cap is a Turborepo monorepo. The desktop app is native Rust with a GPUI interface, the web app is Next.js with Drizzle and MySQL, and recording, rendering, and export live in shared Rust crates.

Requirements:

  • Node.js 24 or newer
  • Bun 1.4.4
  • Rust via rustup. The workspace pins 1.88; the desktop app pins its own toolchain, which rustup installs on first build.
  • Docker for MySQL, MinIO, and local services

Install and set up the repo:

bun install
bun run env-setup
bun run cap-setup

Common commands:

Command Purpose
bun run dev Start the full local development stack
bun run dev:web Start the web app without the desktop app
bun run dev:desktop Build and run the desktop app, rebuilding on save on macOS
bun run build Build the workspace
bun run gpui:build <target> Build and package a desktop release for a Rust target triple
bun run lint Run Biome linting
bun run format Format with Biome
bun run typecheck Run TypeScript project references
cargo test -p <crate> Run Rust tests for a crate

Database commands:

Command Purpose
bun run db:generate Generate database artifacts
bun run db:push Push schema changes
bun run db:studio Open Drizzle Studio

Repository Map

Path What lives there
apps/desktop-gpui The Cap desktop app: native Rust and GPUI for macOS, Windows, and Linux
apps/web Next.js web app for marketing, docs, dashboard, sharing, API routes, and auth
apps/cli Rust CLI
apps/media-server Media processing service used by the web app
apps/discord-bot Discord integration
packages/database Drizzle schema and database access
packages/ui Shared React UI
packages/web-backend Backend service layer
packages/web-domain Web domain models and types
packages/env Environment validation
packages/sdk-embed Embed SDK
packages/sdk-recorder Recorder SDK
crates/* Recording, capture, camera, audio, encoding, rendering, muxing, export, and test crates
scripts/* Setup, analytics, build, and maintenance tooling
infra/* Infrastructure configuration

The web API uses Effect and @effect/platform HTTP APIs. Desktop capture and export paths are backed by Rust crates for fast recording, rendering, and platform-specific media access.

Analytics

Cap uses Tinybird for viewer telemetry dashboards. Set TINYBIRD_ADMIN_TOKEN or TINYBIRD_TOKEN before running analytics commands.

Command Purpose
bun run analytics:setup Deploy Tinybird datasources and pipes from scripts/analytics/tinybird
bun run analytics:check Validate that the Tinybird workspace matches the app expectations

analytics:setup can remove Tinybird resources outside the checked-in analytics configuration. Use it only against the workspace you intend to manage from this repo.

Contributing

Cap is built in public. Issues, pull requests, design feedback, bug reports, docs fixes, and bounties are welcome.

  • Read CONTRIBUTING.md before opening a pull request.
  • Join the community on Discord.
  • Check open bounties on Algora.

License

Portions of this software are licensed as follows:

  • Code in the cap-camera* and scap-* crate families is licensed under the MIT License. See licenses/LICENSE-MIT.
  • Third-party components are licensed under the original license provided by their owner.
  • All other content not mentioned above is available under the AGPLv3 license as defined in LICENSE.

About

Open source Loom alternative. Beautiful, shareable screen recordings.

cap.so

Topics

appcapcossloommacnextjsnextjs15open-sourceossreactrecordrustscreen-capturescreen-recorderscreenshotsolidjstauritauri-apptypescriptvite

Resources

Readme
License

Contributing

Contributing
Activity
Custom properties

Stars

24.9k stars

Watchers

55 watching

Forks

2.3k forks
Report repository

Releases

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.