
● personal project▸ 03ASep 2026 — present
This portfolio, a retrospective
- role
- Design, art direction and architecture
- tools
- Next.js
- React Three Fiber
- three.js
- GSAP
- TypeScript
- Python
- Vercel
- links
The idea
A portfolio designed as an exhibition retrospective: you walk through it, and the career and the professional and personal projects hang there in order. The reference is the Guggenheim's spiral ramp: you start from the present, at the top, and walk down through time. The ramp loops endlessly, and a separate room, the gallery, holds the artistic practice: photography, WebGL experiments, 3D renders.
The site is a camera
Every mechanic is a photographer's gesture. You aim on the ramp: the cursor is a rangefinder, the image doubles with speed and comes back into register when you stop. You shoot by opening a piece: the transition is a shutter. You develop in the gallery: the frames are latent, and the cursor reveals them as it passes. Even loading counts up its percentages like a darkroom.



Art direction
A warm black (#141210), a warm white (#F4F1EC) and a single coral accent (#E9554F), the safelight's and the grease pencil's, once per screen. The light theme is cream photographic paper, and the site follows the hour: light from 8 am to 7 pm, dark after, until you choose. Titles are set in Prototype, text in Geist, labels in Geist Mono, over a living ground that ripples under film grain.

The grammar is photographic down to the details: film-edge inventory numbers (▸ 12A), “latent” images while loading, a 404 page as a “fogged frame”.
Architecture
A Next.js static export, with the 3D scene in React Three Fiber. The WebGL canvas lives in the root layout and is never destroyed: changing page only swaps the HTML, the scene and its textures stay. Animations run in the render loop, never through React renders. Content is YAML validated by Zod at build time, and a Python pipeline encodes each image in AVIF and WebP at several sizes, with its latent preview, dominant colour and EXIF data.
Content never touches the code: adding a piece means adding a folder. A local editor does it all without files or a command line: writing in French and English, dropping images, composing the narrative as blocks, and seeing the real result before publishing.