Why?
- Privacy: Your videos stay on your device
- Free features: Every basic feature of CapCut is paywalled now
- Simple: People want editors that are easy to use - CapCut proved that
Features
- Timeline-based editing
- Multi-track support
- Real-time preview
- No watermarks or subscriptions
- Analytics provided by Databuddy, 100% Anonymized & Non-invasive.
Project Structure
apps/web/– Main Next.js web applicationsrc/components/– UI and editor componentssrc/hooks/– Custom React hookssrc/lib/– Utility and API logicsrc/stores/– State management (Zustand, etc.)src/types/– TypeScript types
Getting Started
Prerequisites
Before you begin, ensure you have the following installed on your system:
- Bun
- Docker and Docker Compose
- Node.js (for
npmalternative)
Setup
-
Clone the repository
git clone <repo-url> cd OpenCut -
Start backend services
From the project root, start the PostgreSQL and Redis services:docker-compose up -d -
Set up environment variables
Navigate into the web app's directory and create a.envfile from the example:cd apps/web # Unix/Linux/Mac cp .env.example .env.local # Windows Command Prompt copy .env.example .env.local # Windows PowerShell Copy-Item .env.example .env.localThe default values in the
.envfile should work for local development. -
Install dependencies
Install the project dependencies usingbun(recommended) ornpm.# With bun bun install # Or with npm npm install -
Run database migrations
Apply the database schema to your local database:# With bun bun run db:push:local # Or with npm npm run db:push:local -
Start the development server
# With bun bun run dev # Or with npm npm run dev
The application will be available at http://localhost:3000.
Contributing
Visit CONTRIBUTING.md
We welcome contributions! Please see our Contributing Guide for detailed setup instructions and development guidelines.
Quick start for contributors:
- Fork the repo and clone locally
- Follow the setup instructions in CONTRIBUTING.md
- Create a feature branch and submit a PR