The web, doing things the web isn't supposed to do.

WebGL, shaders, physics and the kind of interaction that only exists because someone wrote it.

Custom GLSL materials, scroll-driven 3D, and simulations that run inside the same animation loop as everything else on the page. Sixty frames a second is a requirement, not an aspiration.

This site is the portfolio piece: a procedural aperture, a grain that sticks to the surface under rotation, and a physics floor under the footer.

Skills
WebGL and shader workScroll-driven 3DPhysics and simulationGenerative systems
Deliverables
Interaction prototypesPerformance profiling
Industries we work in
AICreative CodingDev ToolsMobileRealtime
Projects shipped
00
Team size
2 to 5, per project

Nothing in the twelve lists creative development as its lead service yet. It shows up inside the others rather than on its own, so the work below is the studio’s rather than this page’s.

More about creative development

The work that lives between design and engineering and is usually dropped by both: WebGL, canvas, scroll choreography, physics, generative systems. The parts of an interface that have to be *felt* to be evaluated, which means they cannot be specified in a document and signed off.

No. Animation is the visible half. The other half is making it survive a mid-range phone, a slow connection and a visitor who has asked their operating system to stop things moving — which is where most of the engineering actually goes.

It is allowed to cost something, and the cost is budgeted rather than discovered. Every build here is checked against a JavaScript budget and a Lighthouse threshold, and a feature that blows it either gets cheaper or does not ship.

Three.js and hand-written GLSL, GSAP, Lenis, Matter.js — libraries chosen for being small and unopinionated. No Spline, no Rive, no drag-and-drop scene tool, because the output of those is a file we cannot debug at two in the morning.

Usually yes, as a self-contained component with its own budget and its own kill switch. That is the safer shape anyway: the interesting thing is isolated, measurable, and removable if it turns out not to earn its place.

On a link, on your own phone, early and repeatedly. We put a deploy in front of you long before it is finished, because the alternative is you approving a video of something that behaves differently in your hand.