Studio
A video editor for macOS built on Remotion and Electron, designed from the start to run on a base 8GB Apple Silicon machine.
editor under 600 MB total under 1.2 GB export under 1.5 GB peak
What it does
Import footage, cut it on a timeline, add titles and transitions, and export an MP4. Version 0.7.0 is an unsigned build, with all seven planned milestones complete: desktop foundation, media import, preview, timeline, editing features, export, and reliability.
How it is built
- A pnpm monorepo: the Electron Forge and Vite app, plus separate packages for the project schema (Zod), the editing core and the project store.
- The editing core is pure TypeScript commands. Each command produces an inverse patch with immer, which gives 200 steps of undo and redo without coupling to the UI.
- Importing a clip creates a 720p proxy, so preview stays smooth while the original is kept for export.
- Export renders through the web renderer in a hidden window and writes an MP4.
What I cared about
- Memory as a budget, not an afterthought: the editor stays under 600 MB, the whole app under 1.2 GB, and an export peaks under 1.5 GB.
- Never losing a project. Saves are atomic and recovery snapshots are kept; a test kills the writer process 12 times and the project reopens every time.
- A small attack surface for a desktop app: a sandboxed renderer, typed IPC validated with Zod at the boundary, and a hardened media:// protocol.
- Each milestone is verified by driving the real app with Playwright over the Chrome DevTools Protocol.
Stack: TypeScript, Electron, React, Remotion, Zod, pnpm monorepo.