A high-performance, local-first desktop screen recorder and lightweight proxy timeline editor for Windows, macOS, and Linux.
Key Features • Architecture • Quick Start • Development • Contributing • License
RecordForge is built from the ground up to be recorder-first, privacy-focused, and low-end friendly:
- 🔒 100% Local-First & Private: No mandatory accounts, no cloud sync lock-in, and zero analytics/telemetry spyware. Your recordings never leave your machine unless you choose to export them.
- ⚡ Native Performance (Sub-50MB Idle RAM): Built on Tauri v2 and native Rust. No bloated Chromium background engines chewing up your CPU and battery.
- 🎯 Subpixel Cursor Telemetry (60Hz / 120Hz): Records raw cursor vectors alongside video. Preview and export with smooth spring-damping motion, click ripples, and automatic focal framing.
- 🎙️ Zero-Drift Audio Sync: Native low-latency audio capture isolates and synchronizes microphone and system audio streams with microsecond precision.
- ✂️ Non-Destructive Proxy Editor: Multi-track timeline supporting instant trims, cuts, splits, reordering, and unlimited undo/redo without waiting for slow intermediate re-renders.
- 🛡️ SQLite WAL Crash Recovery: Real-time state persistence safeguards against power loss, crashes, or unexpected reboots. Relaunch to restore your session seamlessly.
- 🚀 Hardware Acceleration: Out-of-the-box hardware encoding with NVIDIA NVENC, Apple VideoToolbox, Intel QuickSync, Linux VAAPI, and AMD AMF via pinned FFmpeg 9.0 sidecars.
RecordForge enforces a strict separation between native systems engineering and declarative user interaction:
flowchart TD
subgraph Frontend["React 19 Frontend"]
F1["Vite • Tailwind v4 • Radix UI • Zustand • @recordforge/ui"]
end
subgraph Backend["Rust Backend (Tauri v2)"]
B1["• Native Screen Capture (Windows Graphics Capture / DXGI)<br/>• Native Audio Pipeline (WASAPI Loopback + Device Clock)<br/>• SQLite WAL Metadata & State Engine<br/>• Cursor Rasterizer (resvg + tiny-skia)<br/>• Media Processing (FFmpeg / FFprobe Pinned Sidecars)"]
end
Frontend -->|"Tauri IPC Commands"| Backend
Backend -->|"Tauri Events (Status / Progress)"| Frontend
recordForge/
├── apps/
│ ├── desktop/ # Tauri v2 desktop application (Rust + React)
│ └── marketing/ # Astro static marketing & documentation site
├── packages/
│ ├── config/ # Shared TypeScript, ESLint, Tailwind configs
│ ├── contracts/ # Zod schemas, IPC contracts, and DTOs
│ ├── cursor-core/ # Pure cursor telemetry normalization & smoothing
│ ├── cursor-engine/ # Native Rust cursor evaluation engine
│ ├── domain/ # Shared domain entities & state machines
│ ├── editor-core/ # Pure timeline command engine (split/trim/undo)
│ ├── media-core/ # FFmpeg render plan specifications & job queues
│ ├── overlay-core/ # TypeScript/WASM overlay engine adapter
│ ├── overlay-engine/ # Canonical Rust overlay evaluation engine
│ ├── storage-core/ # Storage providers & OS Credential Vault adapters
│ └── ui/ # Shared component system (shadcn/Radix/Tailwind)
├── tooling/
│ ├── benchmarks/ # Editor & timeline performance benchmarks
│ ├── ffmpeg/ # Automated FFmpeg/FFprobe sidecar fetcher (pinned v9.0)
│ └── golden-fixtures/ # Canonical A/V & cursor golden test datasets
└── docs/ # Architectural Decision Records (ADRs) & Specifications
- Operating System: Windows 10/11, macOS 12+ (Apple Silicon or Intel), or Linux (Ubuntu 22.04+, Fedora 38+, Arch)
- Runtime & Package Manager: Bun (>= v1.4.0) or Node.js (>= v22.15.0)
- Rust Toolchain: Rustup (stable, >= 1.80) with target
wasm32-unknown-unknown - Wasm Pack:
cargo install wasm-pack(required forbun run build:wasm:overlay) - System Dependencies:
- Windows: Visual Studio C++ Build Tools (with Windows SDK)
- macOS: Xcode Command Line Tools (
xcode-select --install) - Linux: WebKit2GTK, AppIndicator, and ALSA dev libraries (
sudo apt install libwebkit2gtk-4.1-dev libayatana-appindicator3-dev librsvg2-dev libasound2-dev)
git clone https://github.com/jeandedieuH/recordForge.git
cd recordForge
bun installDownload and configure the pinned FFmpeg and FFprobe binary dependencies for your host OS/architecture:
bun run setup:ffmpegbun run build:wasm:overlayLaunch the full Tauri desktop application in live-reloading development mode:
cd apps/desktop
bun run tauri:dev| Command | Description |
|---|---|
bun run check |
Run linter, formatting checks, typecheck, and test suites |
bun run typecheck |
Run TypeScript type checks across all workspaces |
bun run test |
Execute Vitest unit and integration test suites |
bun run format:check |
Verify codebase formatting with Prettier |
bun run format |
Auto-format all code files across the repository |
cd apps/desktop && bun run tauri:build |
Build production installer (.msi/.exe, .dmg, .deb) |
We welcome contributions from developers, designers, and creators of all skill levels!
- Read our Contributing Guidelines to understand our codebase standards, architecture boundaries, and PR workflow.
- Adhere to our Code of Conduct.
- Check open Issues or join discussions to propose new features.
For security vulnerability disclosures, please review our Security Policy.
RecordForge strictly complies with local-first security boundaries:
- Cloud credentials and API keys are stored exclusively in the OS Credential Vault (Windows Credential Manager, macOS Keychain, Linux Secret Service), never in plaintext or SQLite.
- Desktop capabilities are locked down via narrow Tauri security permissions.
- Telemetry, screen content, and transcripts are never logged or transmitted.
RecordForge is licensed under the GNU General Public License v3.0 (GPL-3.0-or-later). See the LICENSE file for details.
Copyright (C) 2024-present Prestige Tech & RecordForge Contributors