Rough Cut
A browser video editor for reels, shorts and captions
Rough Cut is a sample brief. We imagined a brand's in-house social team making reels every day with a desktop editor built for feature films. The team is imaginary. The editor isn't: we designed and engineered it, and you can cut, grade, caption and export in the live build below.
A sample brief, a real product. We wrote this brief ourselves. The business is imaginary; the product is not: we designed and engineered it, and you can use it above. We publish results only for work a client has let us verify, so this page shows none.
The brief
We imagined a small in-house social team at a consumer brand, with a phone full of footage and a reel due every day. They don't need a full editing suite. They need trim, sequence, grade, caption and export, with an interface a producer learns in one sitting.
The problem
Pro editors are slow to open, heavy to learn and built around render queues. Social work is the opposite: short clips, three aspect ratios, captions for people watching on mute, and a deadline this afternoon.
- Open and start cutting straight away
- Grades that preview live
- Captions as a first-class track
- Export to every aspect ratio without a render farm
The approach
We kept the editor small on purpose. The timeline is a custom React renderer over a Rust document core, colour grades are WebGL shaders applied live, and export runs FFmpeg in a Web Worker, uploading in parts straight to S3.
What would change for a team like this: a reel goes from footage to Instagram in one sitting, without waiting on a render or an editor.
- Rust edit-graph core, deterministic undo
- WebGL LUT grading in the live preview
- FFmpeg (WASM) export in Workers
- An Electron shell that shares the web code
What shipped
- Per-clip grading with LUTs
- Split, delete, undo and redo
- Scrub with J K L and space
- Caption track with auto-caption
- 9:16, 16:9 and 1:1 export with progress
- Multi-project library and media bin
- Title presets and music
- Share for review with timecoded notes
Under the surface
How it is built
The edit graph is a Rust core compiled to WASM with deterministic undo; React renders the timeline, WebGL shaders grade the preview in real time, and FFmpeg-WASM in Workers exports with multipart S3 uploads.
- Rust document core: every edit replayable
- WebGL LUT pipeline, zero-copy frame path
- Export in Workers: the UI never blocks
- Electron shell reuses the web build unchanged
Considered and turned down
Remotion or server rendering. Great for templates, wrong for the responsiveness a hands-on editor needs.
Stack
The mechanism, working
The part of Rough Cut that was hardest to get right, as a small model you can operate.
GPU grading in the browser
Colour grades are WebGL shaders applied per frame on a zero-copy path. The preview is graded live in the browser, no render farm.
