The VERSO scene: a chrome Workbook on a black monolith in a desert. Explore it, or scroll on for the case study.
Nº 004 / VERSO
THERE'S ANOTHER SIDE TO EVERYTHING
Reimagining the traditional portfolio into a desert, a monolith and a chrome catalogue
Summary
An interactive portfolio built as a chrome Workbook in a photographic desert. A reversible scroll journey moves from the cover through its pages; the case study stays accessible without entering the scene.
Problem
Make a memorable 3D experience without slowing access to the work. Keep exploration optional, isolate its rendering engine from other routes, and stop rendering when the scene leaves view.
Architecture
Lenis feeds one GSAP timeline for camera movement and page turns. Scroll, clicks, taps and arrow keys navigate the same resting points, keeping the journey reversible and each input in sync.
Vertex shaders bend subdivided pages on the GPU, with matching depth shaders for their shadows. Unlit artwork preserves screen-like blacks and color; rigid chrome covers reflect the desert photograph.
The desert image is projected onto scenery and ground geometry. Heat shimmer, drifting sand and cloud shading extend existing shaders without additional effect passes. Motion respects reduced-motion preferences.
Static HTML is generated at build time. Only this route loads the 3D scene; Explore activates its journey, while Exit or Escape returns to normal page scrolling. Rendering stops offscreen, and shadow captures are reused until movement requires an update.
Performance / Apple M2
- FPS target
- 60
- GPU / frame
- 2ms
- Draw calls
- ~25
DESKTOP HERO · CHROMIUM · APPLE M2 · 1440 × 900
My Commits
Designed and built the visual direction, 3D scene, shaders and scroll choreography, alongside the site's routing, pre-rendering and content system.
Separated navigation, page timing and interaction rules into testable TypeScript modules. Added production browser checks for rendering, input and lifecycle behavior.
Stack
- TypeScript
- React
- Three.js
- React Three Fiber
- GLSL
- GSAP
- Lenis
- Vite
- Vitest
- Playwright
Results
The 3D engine loads only on this route. Other pages stay independent of its bundle, and pre-rendered case studies remain readable without JavaScript.
Offscreen rendering suspension is verified by a production browser check. Automated unit and browser checks cover navigation, page turns, input handling and scene lifecycle behavior.