We build by leaving things out

We build by leaving things out

Most of what makes a WordPress site good is what we choose to leave out of it. WordPress runs a large part of the web on a big promise: whatever you need, there’s a plugin for it. That promise is one of its greatest appeals, and its most costly trap. Almost everything that harms a WordPress site...

Engineering
16h ago

Standardise the foundations, not the brand experience

Detailed work at scale comes down to one judgement: which parts of a project are worth building fresh for every brand, and which should be solved once and reused everywhere. Shared functionality on one side, brand expression on the other Engineering teams have plenty of frameworks and platforms to...

Engineering
8d ago
Putting video back where it belongs

Putting video back where it belongs

The problem with putting video in a git repo. The repo kept getting heavier, sprint after sprint. We were committing big MP4s next to the code, builds were slowing down, and deploys with them. Case studies lead with video, so every new client made it worse. We needed the media to live somewhere...

Engineering
22d ago
Twenty-four modules, one wrapper

Twenty-four modules, one wrapper

Every case study was its own Astro page. That was the first problem. Each page had its own layout logic, its own spacing decisions, its own way of handling full-bleed sections versus contained text. Some used inline styles. Some used one-off SCSS files. None of them agreed on what "default spacing"...

Design
1mo ago
The form we actually trust

The form we actually trust

In February 2026, we replaced our contact form with a submission pipeline we built and own. For the two years before that, it was a Pipedrive iframe inside our page. We had no control over fields, no client-side validation, no error handling beyond whatever Pipedrive showed inside its frame. When a...

Engineering
1mo ago
We test the revenue path

We test the revenue path

The contact form is the only page on this site that generates leads. So that's where the tests live. We don't chase coverage numbers. What we have is a targeted set of tests aimed at the things that would hurt if they broke: the forms, the pipeline that processes submissions and the CI that catches...

Engineering
1mo ago
Letting type move

Letting type move

We treat type as something that sits still — fixed in place, headings always the biggest thing, motion bolted on at the end. For one Creative Spark we dropped those rules and asked what type could do once it started moving. Creative Spark is our in-house R&D session: ninety minutes, a single theme,...

Engineering
17d ago
The cache that doubled as a coordinator

The cache that doubled as a coordinator

The rendering engine is what visitors see. The data layer feeds it, and keeping it stable under load was the less glamorous half of the build. This is the second post in the ON Labs series. The first covered the WebGL engine: shaders, draw calls, the GPU-level stuff. This one is about what happens...

Engineering
29d ago
The testbed nobody will see

The testbed nobody will see

Every case study was a standalone Astro page with its own layout, its own component imports and its own way of breaking on mobile. Twenty-two of them. Each one built at a different time by a different combination of people, with whatever patterns felt right that week. Changing shared behavior (a...

Engineering
1mo ago
Two months in Three.js, we started over

Two months in Three.js, we started over

Two months into a Three.js prototype, the transition we wanted still wasn't there. We could see it in our heads and not on the screen. That was the moment we started over from scratch. Labs uses real-time shaders, physics-style interactions and transitions that happen at the GPU level. That...

Engineering
1mo ago

Letting type move

Charlie ClarkeCharlie Clarke Engineering
16 June 2026
5 min
Letting type move

We treat type as something that sits still — fixed in place, headings always the biggest thing, motion bolted on at the end. For one Creative Spark we dropped those rules and asked what type could do once it started moving.

Creative Spark is our in-house R&D session: ninety minutes, a single theme, and a room full of people building prototypes with no client to please and nothing due at the end. This time the theme was type in motion. We wanted type to feel less like a fixed shape that carries information one way and more like a material with some give in it. But the afternoon turned out to be about something bigger than typography: how cheap and fast exploring an idea has become, and what that does to the way a studio spends its time.

What we questioned

A few of our assumptions went early. Weight can change mid-word. A heading needn’t be the biggest thing on the page. Motion has to do a job rather than decorate, without sliding back into the hyperactive web of 2002. Most of these aren’t rules anyone chose on purpose; they’re hangovers from how web type is built, all CSS axes and classes, and that machinery sands the creativity out of it. The tooling has moved on, though. The new AI font editors make a bespoke cut of a typeface cheap enough to try on a whim, so the cost of asking “what if the type did this?” has more or less collapsed.

Whiteboard reading "Type in Motion — challenge these assumptions", ringed with notes on fixed shape, one-way communication and scale as hierarchy The framing board: every assumption about type we wanted to push on.

What we made

Six prototypes came out of it, all over the map. One was a 3D dial you turn instead of scrolling a list. Another tied typography to scroll speed, so the text frays the faster you go. A few used the camera, with hand and face tracking that shoves the letters around — very Minority Report. There were soft-body letters that behave like balloons, bouncing on gravity and anti-gravity. Someone rebuilt the dial from scratch in plain JavaScript and CSS in about ten minutes, from a JSON spec and a reference URL, just to see how close standard web tech could get. None of them were precious, and that was the idea: enough range, fast enough, that binning most of it still leaves you ahead.

Green jittery type on a pink field reading "the web has genuine capabilities for type that almost nobody is using", with radius, jitter and strength sliders Typography wired to scroll speed: the faster you go, the more it frays.

A radial "Circular nav drift" menu beside live variable-font controls for weight, width and optical size The dial rebuilt in plain JS and CSS: a radial nav that drifts with scroll momentum.

What we took away

The making turned out to be the cheap part. We settled on a cheap, fast model to churn out the bulk and a slower, pricier one to tidy up after it; the whole multi-model run came to about £1.40. For the price of a coffee we had a spread of directions that would normally take days to work up. When making the thing is nearly free, the hard part isn’t the making any more — it’s knowing which of the six is worth pursuing, and why.

A couple of things caught us out. You can do proper hand and camera tracking in the browser now with no extra software, which none of us knew. And the move off loose “vibe coding” onto structured prompts and JSON build specs mattered more than any clever wording. The boundaries kept the models from wandering and handed back code we could actually use.

A particle-dust rendering of the word "MAGIC" with a "hand detected" badge, driven by webcam hand-tracking “Magic”, revealed by hand-tracking through the webcam — no plugins, just the browser.

The speed stuck with me most. We started with a vague theme and, ninety minutes later, had a handful of working, clickable prototypes. That’s the kind of session I’d put a client in the room for: not to show them finished work, but to let them watch an idea become six things they can click before lunch.

A four-panel grid of more prototypes from the session: glowing "type is alive" variable-font text, a radial 3D navigation dial, a split-flap departures board, and ghosted type set over a landscape photo A few more from the room: a variable-font study, the 3D dial, a split-flap departures board, and type set into a landscape.

Magic and logic

There’s a split underneath all of this. The balloon letters showed it. Motion looks right when it obeys physics — mass, gravity, the way a soft body overshoots and settles. That’s the logic. A model holds it without effort: the easing curves, the equations, the maths of how things move. You can hand all of that over. None of it has to live in your head.

What’s left is the magic, and the magic is taste. Should the letter bounce at all? Is this the moment for it? A model can make motion look natural. It can’t tell you it’s good. I don’t think that part can be written down. Make a list of everything we like and it’s out of date before you finish. Taste keeps moving. That’s the part no model took off us.

These models are really just a store of human memory. Fallible, unpredictable, sometimes astonishing. But it’s more personal than that. What comes back is shaped by you — your words, your tone, the way you ask. No two conversations are the same.

We hand over the logic and keep the magic. Maybe that’s what these tools are really for: they show us what’s human in us. Not a record of where we’ve been. The taste for where to go next.

June 2026

William Badcock, A Touch-stone for Gold and Silver Wares (1677)

Hallmark

The word hallmark comes from an actual hall, Goldsmiths’ Hall in London, where since 1300 silver has been tested against the sterling standard and struck with the hall’s mark, so you could trust it without knowing the maker.

May 2026

Alan Kay: His Sketches, Piano, and Computer

Notes

A note can be a written record, a struck key, or the act of noticing, and each sharpens how we understand the world. A piano is an instrument, but also a technology built on the notes it makes possible.

April 2026

Photographs of a red cloth bound travel handbook from 1894. The book is open to show pages with maps and illustrations.

Change

A red cloth spine caught my eye in a Tokyo bookshop last week. A handbook for travellers in Japan, fourth edition, 1894. I was 132 years late, yet most of what it describes still stands.

Mar 2026

Screenshots from the development process of the new ON release notes page

Taking the temperature

You walk into a room and you can feel it. Whether there is energy or not. We describe someone as warm. We talk about things cooling down. Temperature is something we sense before we have words for it.

Feb 2026

Pixelised image of a horse running

Rethinking video, prototyping faster, and encoding brand logic

In Japanese, the character for hand is 手. Joined with the character for craft, it becomes 手仕事 (teshigoto), or handwork.

Jan 2026

Illustration showing the laying of undersea Atlantic telegraph cables

Transmission

The first dispatch of a new year, and I’m thinking about transmission: the message, the vessel that carries it, and what happens when they finally meet their destination.

Want to know more?

On the last Sunday of every month, we share insights on creative thinking, emerging tools, technology.