Most portfolios are a stack of pages. This one is a single, continuous canvas.
The intro, every project, the about section, the contact form — all on one infinite surface. Visitors pan across it, zoom into whatever catches their eye, and the work opens right where it sits. No page loads, no back button, nowhere to get lost.
Piles that unfold. Each project sits as a stacked pile on a drafting-paper grid. Click it and the pile unfolds into a grid, card by card, on a staggered spring — the same motion every time, so the whole site reads as one system.
A catalog spread, not a slideshow. Open a project and the canvas resolves into a spread: a large viewer on the left, a grouped and tagged thumbnail grid on the right. Click any thumbnail and the viewer swaps in place — no modal, no reload, nothing jumps.
It reads like the file the work was made in. Dashed bounding boxes with dimension labels, zone headers, a live navigator with a zoom percentage. Studio furniture, not marketing furniture.
Real on phones. Under 768px the catalog collapses into a fixed viewer over a scrolling list, and pan and zoom become touch gestures with momentum.
What you can edit. Eight property controls sit in the Framer panel: image base, stagger, spring, dim opacity, intro style, deep links, accent color, custom fonts. Every title, tag, year, caption and spec lives in one structured data file with a written map, so a change stays where you put it. It ships as a single code component — the canvas mechanics are fixed by design, and everything above is yours.
It ships working. Duplicate it and a full placeholder archive renders immediately — 32-item catalogs, spreads, piles, all in place — so you can see the system run before you write a word.
Includes the complete design system (type scale, color and elevation tokens, motion curves, card chrome) and the React source project if you want to run it outside Framer.
Most portfolios are a stack of pages. This one is a single, continuous canvas.
The intro, every project, the about section, the contact form — all on one infinite surface. Visitors pan across it, zoom into whatever catches their eye, and the work opens right where it sits. No page loads, no back button, nowhere to get lost.
Piles that unfold. Each project sits as a stacked pile on a drafting-paper grid. Click it and the pile unfolds into a grid, card by card, on a staggered spring — the same motion every time, so the whole site reads as one system.
A catalog spread, not a slideshow. Open a project and the canvas resolves into a spread: a large viewer on the left, a grouped and tagged thumbnail grid on the right. Click any thumbnail and the viewer swaps in place — no modal, no reload, nothing jumps.
It reads like the file the work was made in. Dashed bounding boxes with dimension labels, zone headers, a live navigator with a zoom percentage. Studio furniture, not marketing furniture.
Real on phones. Under 768px the catalog collapses into a fixed viewer over a scrolling list, and pan and zoom become touch gestures with momentum.
What you can edit. Eight property controls sit in the Framer panel: image base, stagger, spring, dim opacity, intro style, deep links, accent color, custom fonts. Every title, tag, year, caption and spec lives in one structured data file with a written map, so a change stays where you put it. It ships as a single code component — the canvas mechanics are fixed by design, and everything above is yours.
It ships working. Duplicate it and a full placeholder archive renders immediately — 32-item catalogs, spreads, piles, all in place — so you can see the system run before you write a word.
Includes the complete design system (type scale, color and elevation tokens, motion curves, card chrome) and the React source project if you want to run it outside Framer.