Every page, designed then built
Client-First classes, an editor-ready CMS and every script on GitHub behind an init guard.
5 TEN designs and builds huge light-up installations: LED ceilings, media walls, the New Year's Eve ball. The site was planned, mocked up and designed from the ground up to show the scale of their work and where it lives around the world, and to feel as precise as their engineering.
Built from the ground up: planned and mocked up first, designed in Figma, then built in Webflow with Client-First structure, a Three.js globe fed by the Projects collection, GSAP scroll systems and Unicorn Studio WebGL, all editable by the team in the CMS.
Open a system to see what it does, why it matters and, in Engineer mode, how it works.
A 3D globe shows every project where it was built. Spin it, tap a glowing pin, and a card pops up with the photo and a link to the case study.
A factory function creates an independent [[Three.js]] globe per wrapper, so the hero and the teaser can coexist. Pins are read from hidden [[CMS]] items via data attributes (lat, lng, city, slug). Raycasting on invisible hitboxes handles hover and tap; nearby pins group into clusters.
Switch Crew level to Engineer for the technical breakdown.
Each step of their process gets its own slowly rotating wireframe shape. On phones, they swap to lightweight flat drawings.
Wireframe platonic solids rendered in Three.js, animated only while on screen. Below the mobile breakpoint the canvas is hidden and a 150px [[SVG]] takes its place.
Switch Crew level to Engineer for the technical breakdown.
A big statement breaks apart and reassembles line by line as you scroll.
One master controller owns the split-text, scroll-section and fade-up behaviors, so they share a single [[ScrollTrigger]] setup instead of fighting each other.
Switch Crew level to Engineer for the technical breakdown.
The page holds still while a gallery of installation videos plays through, then lets go.
HLS video loads eagerly and autoplays muted. The scroll distance lives in the Designer on a runway element per breakpoint, so the animation and the pin end at the same moment.
Switch Crew level to Engineer for the technical breakdown.
A field of dots reacts to your cursor, and the headline is cut out of it.
The dot spacing is set per breakpoint with data attributes (desktop, tablet, mobile), read by a helper that rebuilds the grid when the window crosses a breakpoint.
Switch Crew level to Engineer for the technical breakdown.
Soft, moving light effects sit behind the footer and gallery, like light spill from a screen.
Five [[Unicorn Studio]] scenes, initialized once globally. A second init call would break every embed, so it is guarded.
Switch Crew level to Engineer for the technical breakdown.
What the site does for the people who run it and the people who visit it.
Pins are read from the Projects collection through data attributes. Invisible hitboxes handle hover and tap, and nearby pins group into clusters.
Webflow can't bind a switch to an attribute, so the globe reads two filtered Collection Lists and the grid filters to case studies only.
The scroll distance lives on one runway element, calibrated per breakpoint (160 / 150 / 135 / 120vh). A parent's overflow: hidden was silently killing sticky, so it became overflow: clip.
An IntersectionObserver starts and stops each render loop. A bug that started the loop twice was removed, which halved the CPU cost. Below the mobile breakpoint a 150px SVG replaces the canvas.
Wireframe platonic solids in Three.js. Page CSS was trimmed from 16 sections to 8 to stay under Webflow's silent page-CSS limit.
Everything this mission delivered, planned and mocked up first, then built from the ground up.
Client-First classes, an editor-ready CMS and every script on GitHub behind an init guard.
Platform · Year
Self-initiated identity
projects pinned on the globe
WebGL scenes
scripts, each with a double-init guard
breakpoints hand-calibrated
Every tool this mission ran on. Pull one out of orbit and let go; it finds its way back.
Tools in orbit