Yakooha

WorkGrain

Start a project

    11 of 13

    Grain

    A cut-grade-export editor that opens in two seconds — GPU-graded previews in the browser, renders handled by an FFmpeg pipeline compiled to WASM with a Rust core for the hot paths.

    Year
    2026
    Disciplines
    Video, Motion, Product
    Platform
    Desktop, Web
    Brief
    Sample client

    Use Grain now

    Grain on desktop: A tiny, fast video editor for social teams

    01Context

    Social teams don't need a Premiere licence to ship a 40-second reel. Grain is the 20% of an NLE that covers 95% of social work: trim, sequence, grade, caption, export — with a UI a producer learns in one sitting.

    02Strategy

    The timeline is a custom React renderer over a Rust document core; colour grades are WebGL shaders applied in real time; export runs FFmpeg in a Web Worker (WASM) with multipart uploads straight to S3 — no render farm, no waiting room.

    • Rust edit-graph core, deterministic undo
    • WebGL LUT grading at 60fps preview
    • FFmpeg-WASM export pipeline in Workers
    • Electron shell sharing 100% of the web code

    03Design

    Grain, desktop layout
    Desktop, 1280 wide. Captured from the running build.
    Grain, phone layout
    Phone, 430 wide. Same build, same data.

    04Engineering

    The edit graph is a Rust core compiled to WASM with deterministic undo; React renders the timeline, WebGL shaders grade the preview at 60fps, 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 — UI never blocks

    Also considered. Remotion/server rendering — great for templates, wrong for a hands-on editor's latency budget.

    05Details

    The mechanism underneath, as a working model. Press the buttons.

    lab / graphics / 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.

    WebGL · Rust → WASMOpen in the Lab

    Loading the model

    Figures inside a model are simulated to show how the mechanism behaves. They are not production measurements.

    06What shipped

    8 modules are in the build below. Each one works.

    • 01Per-clip grading with LUTs
    • 02Split, delete, undo and redo
    • 03Scrub with J K L and space
    • 04Caption track with auto-caption
    • 059:16, 16:9 and 1:1 export with progress
    • 06Multi-project library and media bin
    • 07Title presets and music
    • 08Share for review with timecoded notes

    07Technology

    • Electron
    • React
    • WebGL
    • FFmpeg · WASM
    • Rust core
    • Web Workers
    • S3 multipart

    This is the kind of work we do under Graphics & Video Editing.

    Now use it.

    This is Grain, the whole application. Continue as the sample user, change things, reload. Your data stays in this browser and resets from Settings, then Data.

    yakooha.com/demo/grain
    Open in a tab
    Grain: A tiny, fast video editor for social teams

    A full application, not a recording. Sign in as the sample user; your data stays in this browser.

    Have a project like Grain?

    Discuss your product See the work

    Tell us what you are building. We reply within one working day.

    Start a project

    Tell us in a minute.

    Your name, an email and a line or two. A person reads it and replies within one working day.

    What do you need? optional

    We store what you write so we can reply, nothing else. Privacy