Skip to content

Colophon

How this siteis built

How this website is put together, and what it weighs. The numbers come from a script run against a production build of the site, so you can check them for yourself.

Decisions

Rendering
Every page is generated ahead of time as static HTML. Copy, links and navigation work without JavaScript.
JavaScript
Only the interactive parts, such as the menu, the brief builder and the enquiry form, run in the browser. Everything else is rendered on the server.
Motion
CSS only. Animations move and fade elements, and stop entirely if your device is set to reduce motion.
Type
One variable font file for Mona Sans (weight and width), served from this domain. Code uses your device’s own monospace font.
Accessibility
Semantic headings, labelled form fields, visible focus, a skip link and a keyboard-operable layer filter built from native radio buttons.
Privacy
Analytics only load if they’ve been switched on, and analytics or advertising cookies are only set after you agree to them. Enquiries are only sent when you submit the form.

Page weight

Measured 20 October 2026 · Local production build (next build + next start) · compressed transfer sizes

PageRenderingHTMLJavaScriptCSSFonts
HomeStatic18.9 kB183.6 kB14.2 kB95.8 kB
Services indexStatic10.6 kB177.8 kB14.2 kB95.8 kB
Service pageStatic (generated per service)25.6 kB185.3 kB14.2 kB95.8 kB
Insights indexStatic10.4 kB177.8 kB14.2 kB95.8 kB
Insight articleStatic (MDX, generated per article)14.6 kB177.8 kB14.2 kB95.8 kB
Brief builderStatic + one client component14.7 kB180.7 kB14.2 kB95.8 kB
ContactStatic + server action9.9 kB182.9 kB14.2 kB95.8 kB

Stack

Framework
Next.js 16.4.1
UI library
React 19.3.0
Styling
Tailwind CSS 4.3.3
Language
TypeScript 5.9.3
Content
Typed TypeScript files and MDX
Deployment target
Vercel
Want your project held to the same standard?Discuss a project →We measure what we ship and write it down. Tell us about the work.