← VIRON GIL ESTRADACONCEPT

PRODUCT SITE · SCROLL MOTION

Refreezerator

A scroll-driven launch page for a built-in refrigerator that does not exist. Built to answer a narrow question: can generated footage carry a premium product site, and where does it stop being enough?

Vite 7React 19Tailwind v4GSAP ScrollTriggerLenisSeedance 2.5GPT Image 2
SCROLL THE LIVE SITE →

Best on a desktop with a scroll wheel.

The opening act, playing as video here. On the site itself this is 96 still frames, and your scroll wheel is the transport.

The product is invented. Every specification, price, and image is fabricated and describes no real appliance, and the page says so in its own footer. What is real is the build: a pinned canvas that draws a frame per scroll position, hotspot callouts placed against actual parts, and a six-layer wall cross-section that pulls apart as you scroll through it.

THE PIPELINE

01

Lock the product

Generate one canonical still and treat it as the only truth. Every downstream asset inherits it, which is what keeps the cabinet identical across shots.

02

Generate the takes

Two continuous Seedance 2.5 takes, both seeded from that still as the start image. One 8s push-in on the closed unit, one 10s of the doors opening.

03

Decompose to frames

ffmpeg pulls evenly spaced frames and encodes WebP. 176 frames, 4.15 MB total, roughly 23 KB each. A manifest tells the front end what exists.

04

Scrub against scroll

A pinned canvas draws the frame matching scroll position. Preloading runs in two waves so the stage is scrubbable before the full sequence has decoded.

WHAT SCROLLING LOOKS LIKE

Eight frames from the two scroll acts: the camera pushing in on the closed cabinet, then the doors opening with vapour pouring out

Top row: the hero act, wide to macro on the lit seam. Bottom row: the doors opening. These are the shipped frames, not a storyboard.

WHERE FOOTAGE STOPS

Footage carries the beauty

A video model will give you a beautifully lit door swinging open with vapour spilling over the threshold. Nothing hand-built gets close for the effort. So the hero and the opening act are pure footage, scrubbed frame by frame.

Code carries the precision

What it will not give you is a labelled exploded view. So the callouts sit on a deliberately static plate, because a drifting camera leaves every leader line pointing at nothing, and the six-layer wall is built in CSS 3D where each layer stays addressable.

176

Frames scrubbed on canvas

4.15 MB

Total frame payload

18s

Generated footage

119 KB

Gzipped JS bundle

Status: live · concept piece, not a client engagement · September 2026