WordPress design & build
Bespoke themes from Figma. ACF, Gutenberg blocks, WooCommerce and plugin development. No page builders.
A small studio doing realtime graphics, tools and the awkward technical work between a good design and a site that actually works.
static, javascript off - the Smoke Veil preset from Web-GL, one of ours. Go make your own →
What we do
Some of it comes direct, some white-label for other agencies.
Bespoke themes from Figma. ACF, Gutenberg blocks, WooCommerce and plugin development. No page builders.
Figma to responsive build, with accessibility and Core Web Vitals built in rather than added afterwards. Available as a build partner to other agencies.
Linux, Nginx and Apache, SSL, CDN, reverse proxies. Moving off hosting you've outgrown, and care plans to keep it running.
React Native for iOS and Android. Node and Bun services, REST APIs, realtime with socket.io, and the third-party integrations nobody else wants to take on.
AI running locally or in the cloud, image and video generation, and automation built into sites that already exist rather than bolted on beside them.
Tell us what the problem is and we'll work out the shape of it with you.
Get in touch →The lab
A few of these came out of client work. The rest we built to find out how something worked. If something here would be useful on your project, it can be.

A zero-dependency diagram renderer that speaks Mermaid syntax and outputs raw SVG. Twenty-six diagram types, custom parsers, no Mermaid underneath.
Open the renderer →
Drop in a logo or an image, pick an animated shader, tune it, and copy the snippet straight out. The hero on this page is its Smoke Veil preset.
Make something →
Three.js audio visualisers driven by one Web Audio analyser. Switch style without a reload, tune everything live, and share an exact configuration by URL.
Open the lab →Ten short clips made with AI, played one after another and back to the start. Nothing here was filmed.
Watch the reel →
One picture in, one 3D mesh out, using Hunyuan3D 2.1 on the machine under the desk. Two goes at it: a character that works, and a castle that doesn't.
Have a look →Scroll-driven transitions, video manipulation in the browser, live capture tools and a few things we're not ready to show yet.
Ask us what's nextSelected work
Pharmaceutical, healthcare, education and professional services. Designs arrive from Figma or Photoshop. Everything after that is ours: build, integration, hosting and handover.

Patient-facing treatment information site, built to a Figma design with ACF and Gutenberg blocks.
WordPress · ACF · Gutenberg · WPEngine
The healthcare-professional counterpart, sharing a component library with the patient site but a separate content model.
WordPress · ACF · Gutenberg · WPEngine
A patient resource for type 2 diabetes, built from Photoshop artwork onto a custom WordPress template.
WordPress · ACF · Custom template · Fasthosts
A training platform for clinicians, built with ACF and bespoke PHP components against a supplied Figma design.
WordPress · ACF · Bespoke PHP · Kinsta
Corporate site built from Photoshop artwork, with bespoke PHP components and self-managed hosting on a VPS we run.
WordPress · ACF · Bespoke PHP · Fasthosts VPS
A single-page site for a nursery school. Small budget, same build standards, handed over for them to run themselves.
WordPress · ACF · Gutenberg · GoDaddyBlog
Experiments and examples of new web features.
The blog list on the home page shows six posts and a button for the rest. Getting the new ones to arrive properly used to mean animating every card by hand.
The reel flickered between clips, even though every clip was already loaded into memory.
A comment box that gets taller as you type has needed a script for as long as I can remember. It's one line of CSS now.
He has published the folder of instructions he gives Claude Code. Most of what's in it is there to stop the agent getting on with it.
The animation on the home page steps its quality up as it goes. Easing one of those steps made it more noticeable.
The buttons on this site can be tinted to any colour from the admin page. Working out whether the writing on top should be black or white was a small pile of maths.
Putting the site into version control, git decided my font files were text and got ready to rewrite them.
A server setting that makes pages smaller and quicker for the phone to unpack. Browsers have accepted it since February.
Two of the three speed scores Google grades a site on could only be measured in Chrome. Safari reports both of them now.
A dialog with unsaved changes in it will shut on Escape without asking. There's a proper way to catch that now.
Those are the good ones. Tell us what it needs to do and we'll tell you honestly whether it's a week or a month.