Inspiration

Cutroom is built around a simple promise: a private, browser-native video editor. Your media never leaves your machine. It is for builders and creators assembling short product demos from local screen recordings and clips, including footage they would rather keep on their own computer.

What it does

Import local videos or images, trim and split clips, reorder a linear timeline, add titles, and preview the result. Choose landscape, portrait, or square output with fit/fill framing, then export an actual playable MP4 or WebM in supported browsers. Undo/redo and portable project files make edits recoverable. After its first successful production load, the editor can reopen offline.

How it was built

The project started as an original implementation using the Devpost Learn Skill Pack, with scope.md, prd.md, and spec.md included in the public repository. React, TypeScript, and Vite power the interface. Browser media APIs, canvas rendering, and local encoding handle the editing/export journey without a media-upload backend or API keys. EditDatVid and Remotion Studio provided interface inspiration; their source code and assets were not reused.

Challenges and technical takeaways

The central challenge was making the exported movie reflect the same trims, clip order, titles, framing, and audio as the preview. Other practical challenges included browser codec support, export cancellation/retry, offline app-shell caching, and relinking original media when reopening saved edit decisions. Validation exercised local import through downloaded output and inspected resulting video frames, duration, dimensions, and audio. Current desktop Chrome was tested; other browsers remain unverified.

What is next

The proof of concept deliberately focuses on one complete local editing loop. More advanced multi-track mixing, transitions, transcription, and professional color tools remain future work. The app currently runs locally; setup instructions and planning documents are in the public repository.

Built With

Share this project:

Updates

Submission history