Ninefold
Nine people in Rotterdam making things that only exist when you touch them. The site is nine rooms in a space, not a page that scrolls.
- Client
- Ninefold, Rotterdam
- Sector
- Experimental creative agency
- Scope
- Nine-room 3D experience with loading, opening and ending sequences, sound, generator; work, case study, studio, contact
- Year
- 2026
- Stack
- Vite · Three.js · GLSL · CSS3D text · GSAP · Web Audio
Be remembered. Get the right three clients a year.
Ninefold is a nine-person studio on the Schiekade making interactive work for culture, music and fashion: a digital guide for the Boijmans depot, an album site for Lowtide, a low-latency runway stream for Aster & Vane, a generative identity for Rotterdam Architecture Month, an installation for the Fotomuseum. It was founded in 2017 by a creative director and a creative technologist.
The voice is confident, spare and occasionally funny. It never says it crafts digital experiences.
Make someone stop and ask who built this, without losing them.
This is the collection’s flagship: the piece allowed to push technology hardest. The risk with experimental sites is that they become unusable. The brief demanded an opening sequence, a 3D environment, unusual navigation, spatial transitions, a scroll-controlled camera, sound and an ending, and it demanded that everything remain reachable in two clicks and that a fully designed static version exist for reduced motion and for devices without WebGL.
Black, ash, and an accent that is never the same twice.
The environment is near-black with ash and bone text. The accent is computed: a hue drifting slowly within a restrained band from iris through copper to pale green, sampled from the shader’s noise field and written to a CSS variable so that type and rules follow the surface. Nothing is neon and saturation is capped.
Fraunces is the voice, its optical-size, softness and wonk axes driven by scroll and cursor so that the type breathes without ever scattering. Martian Mono holds the four corners: room index, sound, coordinates, next.
A space with an index.
Nine rooms, each one idea: a manifesto, five projects, the team, the method, contact. Scroll is quantised to rooms; arrow keys, taps, swipes and the URL hash all move the camera; an index overlay lists every room in plain text. Past the ninth room the space folds closed and the visitor is invited back up.
Beyond the experience, conventional pages exist for work, one deep case study, the studio and contact, still and black, in the same type.
Nine rooms, a camera that moves, type that breathes.
Loading is the first frame of the story: a single-stroke nine in the accent colour, a mono line of coordinates, the word nine resolving from wonky to settled as assets arrive, and the stroke widening into the doorway that reveals the corridor. The camera travels a spline through nine stations; each station is a room with real DOM text placed in 3D.
The cursor displaces the shader surface locally and the surface remembers it for a second. Room five holds a seedable poster generator the visitor can regenerate. Room seven holds the team as nine letterforms on plinths. Sound, off by default, is a low pad, a click on room change and one chord in room three.
Open the live site Room 05, the poster generator
Spatial. Everything moves in z.
Transitions between rooms take between nine hundred and sixteen hundred milliseconds on an exponential in-out. Type axes drift continuously with progress and proximity. The ending folds the scene toward a line and then to black. With reduced motion the nine rooms become a vertical sequence of black sections with the same type and plates, no shader and no camera.
GLSL, a camera spline, and text that stays text.
A displaced plane carries layered simplex noise in the vertex shader and a restrained hue drift in the fragment shader; JavaScript evaluates the same noise to set the CSS accent. The camera follows a Catmull-Rom curve through nine stations and scroll delta is quantised to a station index tweened by GSAP. Text is real DOM positioned in 3D with the CSS3D renderer so it remains crisp and selectable. DPR is capped at 1.5, geometry stays under 120k triangles, rendering pauses when hidden. Five project plates are generative compositions rendered in the repository.
Desktop and mobile.
Screens captured from the built site at 1440 and 390 pixels wide.
Open the live site
Open the live site
Open the live site
Open the live site
Open the live site
Open the live site Room 01, manifesto · Room 01 at 390 · Room 05, the poster generator · Room 07, the nine · Reduced-motion version · Index overlay on mobile
The piece that makes people ask who built it.
The finished experience pushes as hard as the collection allows and still answers to an index, a hash and a keyboard. That combination, spectacle with a floor plan, is what a flagship should be.
