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, and a room full of people building prototypes with no client to please and nothing due at the end....

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...

Field Notes
3d 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 submission failed, we found out from the client, not the system. A form we built, designed and...

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...

Field Notes
22d ago
We haven’t missed a Thursday in 28 weeks

We haven’t missed a Thursday in 28 weeks

We ship every week. Nobody outside the team could tell. The work was real (features, fixes, infrastructure changes) but invisible. Clients saw results on their pages. Visitors saw a polished site. Nobody saw the pace. We wanted a way to make the cadence obvious without turning it into a marketing exercise. The format we chose. Plain `.txt` files in a folder. That's it. `public/release-notes/`...

We ship every week. Nobody outside the team could tell. The work was real (features, fixes, infrastructure changes) but invisible. Clients saw results on their pages. Visitors saw a polished site....

Field Notes
22d ago
One SCSS file that keeps 24 modules honest

One SCSS file that keeps 24 modules honest

Releases 9 Jul
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 else, and to turn up in a size that suited whatever screen it landed on. But where? The CMS was out:...

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...

Field Notes
8d 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" meant. Adding a new case study meant copying an old one, deleting most of it and hoping the parts...

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....

Field Notes
22d 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 behavior took roughly 6,000 lines of hand-written WebGL 2 and four months of iteration. We needed direct...

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...

Field Notes
22d ago
Five prototypes in 50 minutes

Five prototypes in 50 minutes

Releases 25 Jun
What a prompt system taught us about writing

What a prompt system taught us about writing

Releases 2 Jul
The invisible translator

The invisible translator

Releases 16 Jul
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 before a single pixel renders: fetching project data from an external API, caching it and making...

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...

Field Notes
15d 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 hero transition, a spacing value, a navigation pattern) meant touching every file individually. The...

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...

Field Notes
22d 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 problems before production. Dependency injection as a testing technique. Our submission pipeline...

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...

Field Notes
22d ago
Prototyping every direction at once

Prototyping every direction at once

Releases 25 Jun
Prototypes need URLs, not GIFs

Prototypes need URLs, not GIFs

Releases 2 Jul

You’re at the end of our articles… for now!

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.

Dec 2025

Earthrise, or the earth rising above the moon

Closing the distance between strategy and execution

Fifty-seven years ago this week, Earthrise was captured. The image provoked a stark reflection on our place in the universe, yet the photograph itself was never part of the formal mission plan.

Want to know more?

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