-
01
Rescue & replatforms
Inherited stacks, broken integrations, end-of-life migrations.
-
02
Quiet delivery
I sit alongside your design team and ship without drama.
-
03
Long-running partnerships
Fifteen years shipping for agencies and editorial teams.
I run rescue campaigns for agencies who need to put out fires. Replatforms, re-integrations, rebuilds. I'm the silent technical partner sitting alongside your design team.
I work in Laravel, Craft and WordPress where each makes sense — I can fold in other technologies as needed. I compound effort with AI inside defined harnesses, so the work goes faster without going off the rails.
Inherited a stack that's struggling? Let's get it stable.
Laravel is arguably the most thoughtfully-engineered PHP framework ever shipped. Entire production stacks run on it — quietly, at scale, by developers who actually enjoy their work.
Does it hold up under load, edge cases, real businesses? Year after year, the answer is decisively "Yes".
Craft CMS is the editorial counterpart. It's a genuine content tool, a flexible platform — it bends to your brand instead of forcing the brand into a template.
WordPress is the standard CMS most agencies still run on. I take it seriously where it makes sense — production integrations, editorial sites, the Salesforce-to-WP pipes that have to hold under real editorial pressure.
I have been building on Laravel, Craft and WordPress for years. I have a deep understanding of where each fits, where each strains, and how to ship work that lasts.
Featured
Builds
Three projects worth opening first — long-running partnerships, real production stacks, the kind of work that gets handed back better than it started.
Kurt Weill Foundation — Salesforce ↔ WordPress
WordPress · Salesforce SDK · ACFThe Merchant Hotel, Belfast
Craft CMS · Twig · Avvio APIFrontier
Experiments
Small, opinionated builds — what I make when nobody's paying me, poking at the edges of browsers, canvas, type and shaders. None are products. All have taught me skills transferable straight back into client work.
DOOM, With a Working Contact Form
Forms can be hell to configure. So let's set one up inside the classic FPS video game, Doom.
html-in-canvas · WebGL · DOOMA Live Web App, On a 3D Monitor
Most product screenshots are flat. Most products aren't.
Three.js · html-in-canvas · WebGLAI-Native CMS · Six Verticals, One Engine
I tuned one engine to ship six wildly different branded sites — copy, palette, structure all AI-shaped per vertical.
Laravel · Livewire · LLMTabletop Dice Roller
I built a realistic dice roller sim, with real physics, collisions, weights and faces.
Vanilla JS · PhysicsOcean HUD — HTML-in-Canvas
UIs that float on top of the action read as overlay. UIs that bend with the action read as world.
html-in-canvas · Three.js · ShadersCastle, Wrapped in Type
I made an interactive editorial piece where the prose reflows live around a 3D castle, every frame.
Three.js · Type · ExperimentalAn HTML Form Made of Cloth
Forms are rigid. Most websites are rigid. The web wasn't supposed to be.
html-in-canvas · Cloth simContact Form, C64 Style
I dropped a working HTML form inside an actual C64 emulator. You type, the BASIC scrolls underneath.
html-in-canvas · EmulationA Form Inside Itself, Forever
A recursive form that contains itself — type at any depth, the form sees you back.
html-in-canvas · RecursionMarkered, Like a Real Highlighter
A small library that strokes text, images, or headlines like a chunky real-life marker.
SVG · CSS · LibraryHTML Balloonification
Headlines that inflate, sway, and wobble like proper soft-body balloons.
Three.js · Geometry · TypeHow we'd work together
Embedded.
Predictable days each month. Your tools, your process.
The awkward integrations and the bits the designers shouldn't have to touch.
Managed delivery.
You bring the design and the brief.
I bring the engineering, the timeline, and a clean hand-off so your team isn't left maintaining a black box.
Diagnostic call.
60 minutes on an inherited stack you're worried about.
Honest read, no sell, written recap.
Book a call →Long
Form
More from the fifteen-year archive — Laravel replatforms, WordPress integrations, e-commerce flows, editorial maintenance, modern web platforms.