Experiments

Personal projects that have taught me vital client-facing technical skills.

What If Mars Had Oceans?

Driven by curiosity, I built a real-time visualiser to see what Mars would look like with oceans

Agency skills Interactives data visualisation animation

AI-Native CMS

Six Verticals, One Engine

A single CMS that produces six wildly different finished sites (allotment, charity, council, museum, scout group, theatre) by tuning an LLM per vertical.

Agency skills CMS architecture AI integration prototype-to-production

Tabletop Dice Roller

A real 3D dice roller. Physics, face-detection, per-game presets, advantage/disadvantage. Good enough to keep in a tab during a session.

Agency skills Interactives animation 3D UI

Castle, Wrapped in Type

Long-form editorial typography that recalculates sixty times a second to wrap around a 3D photogrammetry model of a Spanish castle.

Agency skills Interactives editorial design animation

Bettermojis

Every Glyph, No Faff

A no-faff browser for ~7,000 emoji, HTML entities and named Unicode symbols. Search in 15 languages, click to copy. Pure client-side.

Agency skills UI app design vanilla-JS performance

DOOM, With a Working Contact Form

An HTML form rendered into a canvas texture inside a JavaScript port of DOOM. You can submit it while the demons keep advancing.

Agency skills Interactives novel rendering performance

Markered, Like a Real Highlighter

A drop-in highlighter effect. Chunky, slightly-imperfect felt-tip strokes layered over your text. Accessible, decorative, drop-in.

Agency skills UI components drop-in integration

An HTML Form Made of Cloth

The same html-in-canvas trick taken to its silly extreme. A live HTML form projected onto a physics-simulated piece of cloth.

Agency skills UI animation novel rendering

A Live Web App, On a 3D Monitor

A 3D model of a beige desktop PC with a live, interactive web page rendered onto its monitor. Click, scroll, fill the form while you orbit.

Agency skills 3D WebGL novel UI surfaces

Let's talk.

Tell me what you're building, what's stuck, or what you'd like a second pair of senior hands on.