Skip to main content
← Back to Open source
04Open-source build

Framecut

A Cloudflare-native browser video editor for stop motion, multi-clip timelines, cropping, resizing, and compression.

sagnik11/framecut-video-editor
04
01Private R2 upload
02React timeline
03ffmpeg.wasm render
04MP4 export
ReactMIT

The reason for the build

Framecut keeps focused editing jobs inside one browser workspace. A user can assemble clips, set split points, preview stop motion, crop for a target format, and export an MP4 without sending the render to a separate media server.

How the pieces connect

A React editor talks to a Cloudflare Worker for authentication and project data. D1 stores records, R2 stores private source files and exports, and ffmpeg.wasm renders H.264/AAC video on the user’s device.

What the project handles

01

Multi-clip timeline

Users can append clips, reorder the working sequence, trim with handles, and preview across clip boundaries with one playhead.

02

Stop-motion controls

Frame-rate controls from 1 to 24 fps change the visual cadence while source audio continues through the preview.

03

Non-destructive edits

Split points, crop presets, resize targets, and compression settings stay editable until export.

04

Private project storage

Authenticated range requests support seeking, while multipart uploads handle large source videos in R2.

Constraints that shaped it

01

Local rendering avoids a dedicated transcoding service and keeps the export path close to the editor.

02

Workers, D1, and R2 form a small full-stack deployment with account-scoped projects and persistent autosave.

  • React
  • TypeScript
  • Cloudflare Workers
  • D1
  • R2
  • ffmpeg.wasm

Read the code, issues, and decisions in context.

Open on GitHub