← Portfolio

Branchline · 2026

Branchline

Keep every useful path.

Visual generation workflows.

An isometric editing desk with floating photographic frames on a dusty-blue background
Role
Product strategy
UX/UI · Engineering
Scope
System design
Working prototype
Product
Image and video
Generation workflows
Stack
FLUX.2 · FLUX 3 Video
Next.js · Cloudflare D1 / R2

A prompt is not a workflow.

Useful visual generation takes references, parameters, comparisons and retries. A chat box hides that process, then forgets how the approved result was made.

Branchline keeps the image, its generation receipt and every decision around it. A frame can branch into a lens or light variation, a motion draft or a final export without losing its parent.

Generate, compare, branch and ship from one visual history.

One root frame, explicit next decisions.

The Frame Stack treats a still as a locked root. Each branch inherits the recipe and adds exactly one decision: a lens, a light, a colour or a polish pass. The demo below is the clockmaker exploration that ships with the app: a Cooke path and a Zeiss path, each extended by one lighting iteration.

01 / Frame StackRoot frame locked by four descendants; every node lists what it inherited and the one decision it owns. The footer pins the next layer, lens preset, model and outputs for the selected node.

One idea becomes a sequence.

Scenes turns a paragraph into an ordered shot list. Each scene node holds its still, its takes and a four-step pipeline: Frame, Motion, HD and Full HD. The seeded demo, “The Work That Keeps Time”, is a ten-scene cinematic pre-visualisation with draft clips already rendered.

10 scenes · 88.0s reel
02 / Scene boardThe idea node, the scene strip with its takes badge and the drill-in panel: scene description with seed and a refine bar on the Frame step, video direction and a playable FLUX 3 Video draft on the Motion step.

Approve the cut at draft rate.

The Reel node assembles the draft clips in scene order with the German subtitles from the board, lets you trim each cut range and prices the whole reel at draft, HD and Full HD rates. Enhancement is spent only on the shots that earn it.

03 / ReelTen scenes, an 88-second cut: still and draft versions per scene, an in/out cut range on the source clip and the image-to-video prompt that produced it.

Every scene keeps its alternatives.

A scene gives each take its prompt and references. Refining a frame creates another take without losing the earlier ones. The selected frame becomes the starting point for motion; the reel puts those clips in order.

A scene keeps its iterations. The selected frame moves into motion. A scene provides a prompt and references. Generated takes form a frame stack, with each iteration preserving earlier attempts. The chosen take becomes the selected frame, which anchors a motion clip. Clips are ordered into a reel. One refinement loop returns the selected frame to the scene as a reference for another take. 01 / SCENE 02 / GENERATE & ITERATE 03 / SELECT 04 / MOTION 05 / REEL SCENE 02 The clockmaker Prompt + references TAKE 01 First generation TAKE 02 Lens iteration TAKE 03 Lighting iteration Each take keeps its parent. Choose the frame that carries the scene. SELECTED FRAME The scene’s active take MOTION CLIP Still → start frame REEL Order + timing REFINE THE FRAME · KEEP EARLIER TAKES
04 / Frame lineageA scene collects its takes. Refine a frame without losing earlier attempts, then choose one as the starting frame for motion. Order the clips into a reel.

Built far enough to test the system.

The working prototype covers live FLUX.2 generation, persistent outputs, shared history, the Frame Stack, scene breakdown with takes, draft clips and the reel plan. It proves the workflow model before expanding into a looks library and reusable graphs.

More selected work