The bench is always running.
Not a second portfolio. This is where the engine is opened up — one delivered frame put under a line, one variable changed at a time, and the whole generated library counted off the files rather than off the brief. The finished case studies live in the studio.
- Houses
- 6
- Films
- 52
- Frames
- 96
- Finished runtime
- 36m 25s






























One frame. One variable. Changed while you watch.
Left of the line is the file exactly as it was delivered. Right of it is a treatment being applied live, in your browser, with the declaration printed underneath so you can check it. Drag the line, change the pass, or lift a different frame off the tray.

SospiroFragrance · Italy
The pass
- Frame
- 1195 × 1600 px
- Applied
- Warm grade
- Declaration
filter: saturate(1.18) sepia(0.22) hue-rotate(-8deg) contrast(1.06);- Line at
- 50%
Both halves are the same file. Everything right of the line is done live in your browser — nothing here is a second export.
On the tray
24 frames
Sospiro
1m 07s — one of 52 films in the library, generated, directed and finished for a real house. Running muted; sound and full size on click.
What the engine has actually shipped.
Counted off the delivered files, not off the briefs. Where the two disagree — and they do — the files win. Every figure here is read out of the media manifest at build time, so it stays true the next time a house ships another set.
Frames taller than wide
90 / 96
Films wider than tall
44 / 52
These are specimens, not the work. The films, the complete stills libraries, and the direction each house was held to live on their own pages.