Lab experiments
Quirky Garden
Headcases
Niwama
Webling
Wigglers
Mushi
Cell Tank
Cell Tank is an interactive aquarium of cells running on a soft-body physics engine built from scratch. Every cell is its own design with its own behaviour, so you can prod them, watch them squash and drift, and pick up some cell biology while you play. Built with Astro and WebGL.
Interactive / WebGL / Soft-Body Physics / Educational
Concept / Design / Physics Engine / Development
Quirky Garden
Quirky Garden is a small art toy. Sweep the mouse and strange plants sprout behind it, click and the whole palette flips, and a watchflower sits in the middle of it all. Rain, a blocky early-graphics look, none of it useful and all of it fun. Built with Astro, Three.js, GSAP and Tailwind.
Interactive / WebGL / Generative Art / Experiment
Concept / Art Direction / Motion / Development
Headcases
Headcases is a crowd of curious ink portraits, drawn and animated entirely in code. Move your cursor and the room looks your way, drag a face to turn its head, or let the neighbours gossip and blow bubblegum. A few grey aliens snuck in too. Built with vanilla JavaScript and Canvas 2D.
Interactive / Canvas 2D / Generative Art / Experiment
Concept / Illustration / Motion / Development
Niwama
Niwama is a quiet, interactive koi pond. Tap to call the fish, drag to stir the water, and watch them glide between rocks and lotus leaves. Each koi has its own swimming habits, and the light follows the South African sky from sunrise to moonlight. Built with React, Three.js and GLSL.
Interactive / WebGL / Simulation / Experiment
Concept / Design / Physics / Development
Webling
Webling is a tiny web with four little personalities. Pluck a thread, offer a snack, or tickle a spider and watch it react. Springy silk, wandering feet and the occasional nap make a small world with no score and no finish line. Built with vanilla JavaScript and Three.js.
Interactive / WebGL / Procedural Animation / Experiment
Concept / Art Direction / Physics / Development
Wigglers
Wigglers is a playful loop mixer with a band of wobbly little performers. Drag or tap sounds into seven slots, layer beats, melodies and voices, and hold a character to hear it solo. Classic, Space and Cursed each bring their own world and sound pack, with faces that sing along to the mix. Built with React, Three.js, GSAP and Web Audio.
Interactive / Web Audio / WebGL / Music
Concept / Design / Interaction / Development
Mushi
Mushi is a tiny living garden seen from down in the grass. Drop a crumb for the ants, stir the pond, or brush past the stems and watch the neighbours scatter. Bees work the flowers by day; moths and fireflies emerge after dark, with changing weather and light that follows Johannesburg time. Built with React, TypeScript, Three.js and GLSL, in a softly dithered pixel-art world.
Interactive / WebGL / Simulation / Generative Art
Concept / Art Direction / Simulation / Development