Overview: Cap is an open source alternative to Loom that enables users to record, edit, and share screen videos quickly. Built as a monorepo with Tauri for desktop and Next.js for web, Cap provides a seamless experience across platforms while offering self-hosting options for teams requiring data control. Designed with developers and remote teams in mind, Cap combines a polished UI with backend extensibility through MySQL, Drizzle ORM, and Tinybird analytics. Unlike proprietary screen recording tools, Cap allows full control over data via self-hosted deployment and transparent open-source licensing.
What You Get
- Screen recording & editing - Record your screen with built-in tools to trim, annotate, and share videos in seconds without leaving the app.
- Desktop & web apps - Use the Tauri-based desktop client (macOS/Windows) or host the Next.js web app for browser-based recording and playback.
- Self-hosting support - Deploy Cap Web via Docker or Railway using provided configuration; connect desktop clients to your private instance.
- Tauri + SolidStart desktop app - High-performance desktop application built with Rust and SolidJS for fast, native-like screen capture and UI responsiveness.
- Next.js web platform - Hostable web version with React components, sharing capabilities, and API endpoints for video management.
- Drizzle ORM + MySQL backend - Structured database layer using Drizzle for video metadata, user data, and recording logs (MariaDB not officially supported).
- Tinybird analytics integration - Built-in telemetry ingestion and dashboarding via Tinybird with setup commands for data sources and materialized views.
- Monorepo architecture - Unified codebase with shared UI, utils, and config packages across desktop and web apps using Turborepo.
Common Use Cases
- Building a remote team communication workflow - Teams replace Loom with Cap to record asynchronous video updates, bug reports, or onboarding clips while keeping data on-premises.
- Creating a self-hosted video messaging platform - DevOps teams deploy Cap Web via Docker to avoid third-party SaaS dependencies and enforce internal data policies.
- Problem → Solution flow: Need screen recordings without cloud uploads? - Cap lets you record locally and upload only to your own server, eliminating privacy concerns with public SaaS tools.
- Team workflow: Developers sharing code demos - Engineers use the desktop app to record terminal sessions or UI interactions, then share links directly from their self-hosted Cap instance.
Under The Hood
The project is a cross-platform application ecosystem that unifies desktop, web, and backend functionalities into a modular, extensible system. It leverages a monorepo structure to support diverse use cases while maintaining shared components and UI consistency. The system integrates modern development practices with performance-focused technologies like Rust and Tauri.
Architecture
This system adopts a multi-tiered architecture with clear separation between frontend, backend, and system-level modules. It uses a monorepo approach to manage interrelated applications and shared libraries.
- Modular design with distinct applications for desktop, web, and backend use cases
- Strong emphasis on separation of concerns across UI, logic, and infrastructure layers
- Tauri-based desktop integration enables low-level system access without sacrificing UI responsiveness
Tech Stack
The project utilizes a diverse tech stack centered on TypeScript and Rust, with modern frameworks supporting cross-platform development.
- Built primarily with TypeScript and Rust, using Tauri for desktop integration and SolidJS for UI
- Leverages Vite, Vinxi, and Tauri for build and bundling workflows with WebGPU and WASM support
- Integrates testing frameworks such as Vitest and Cloudflare Workers for comprehensive coverage
- Employs UI libraries like Kobalte and Radix UI alongside TanStack Query for state management
Code Quality
Code quality varies with a strong emphasis on testing and type safety, although inconsistencies in style and architecture are present.
- Comprehensive test coverage across multiple modules with Vitest and Cloudflare Workers
- Type-safe codebase using TypeScript for improved maintainability and error prevention
- Clear error handling patterns and structured component architecture
- Mixed code style and architectural alignment in sample files, indicating room for improvement
What Makes It Unique
This project stands out by combining low-level Rust CLI capabilities with high-performance TypeScript desktop UIs.
- Seamlessly bridges performance-critical system interactions with modern, responsive frontend experiences
- Integrates Tauri and Rust to deliver desktop applications with native performance and access
- Modular architecture enables extensibility and reuse across different application types