CapSoftware/Cap

▲ 103 stars today★ 22,546⑂ 1,940

Open source Loom alternative. Beautiful, shareable screen recordings.

About CapSoftware/Cap

CapSoftware/Cap is an open-source project on GitHub, mainly written in Rust. Open source Loom alternative. Beautiful, shareable screen recordings. It currently holds 22,546 stars and 1,940 forks with 370 open issues, and was last pushed on 2026-09-20 (repository created 2023-11-17).

Project Overview

Git Homed tracks it on the Today's Trending board, currently at rank #38 with 103 new stars today.

GitHub Repository Details

Repository CapSoftware/Cap · default branch main · size 394565 KB · watchers 54 · source: GitHub REST API and repository README

README

https://github.com/CapSoftware/Cap/blob/HEAD/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

https://github.com/CapSoftware/Cap/blob/HEAD/Open bounties

https://github.com/CapSoftware/Cap/blob/HEAD/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

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.

Get Started

For most users, the fastest path is:

1. Download Cap for macOS or Windows 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.

Local Development

Cap is a Turborepo monorepo with Rust, TypeScript, Tauri, SolidStart, Next.js, Drizzle, MySQL, Tailwind CSS, and shared media crates.

Requirements:

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 | Start the desktop app | | bun run build | Build the workspace | | bun run tauri:build | Build the desktop release | | bun run lint | Run Biome linting | | bun run format | Format with Biome | | bun run typecheck | Run TypeScript project references | | cargo test -p | 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 | Tauri v2 desktop app with SolidStart UI and Rust backend | | 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/ui-solid | Shared Solid 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.

License

Portions of this software are licensed as follows:

GitHub Stars & Activity

22,546Stars
1,940Forks
370Open issues
RustLanguage

GitHub Popularity

GitHub stars22,546
Forks1,940
Open issues370
Primary languageRust
LicenseNOASSERTION
Stars gained today103
Created2023-11-17
Last pushed2026-09-20

Trending History

Daily boardrank #38 · ▲ 103 stars
Monthly boardrank #80 · ▲ 1,519 stars

Related GitHub Projects

1

rust-unofficial / awesome-rust

Rust★ 59,449⑂ 3,626▲ 23 stars
2

typst / typst

Rust★ 56,140⑂ 1,719▲ 23 stars
3

xai-org / x-algorithm

Rust★ 33,290⑂ 5,405▲ 30 stars
4

atuinsh / atuin

Rust★ 31,755⑂ 971▲ 47 stars
5

rui314 / mold

Rust★ 17,189⑂ 558▲ 44 stars
6

cloudflare / quiche

Rust★ 12,130⑂ 1,123▲ 264 stars
7

EpicGames / lore

Rust★ 8,698⑂ 434▲ 23 stars
8

akitaonrails / ai-memory

Rust★ 7,259⑂ 500▲ 96 stars

More Trending Repositories