← Client work·11 / 12
EventsMobile bar services.
An eighteen-page single-page app that search engines could barely read: one document, one title, no per-page metadata, and a first paint that waited on JavaScript.
Sector
Events
Region
London & Home Counties
Stack
Next.js 14 (App Router) · TypeScript · Tailwind
Status
Delivered
[ The transformation ]
What changed.
Migrated a Vite and React-Router SPA to Next.js 14 App Router — all eighteen routes converted to file-based routing and pre-rendered static.
react-router replaced with next/link throughout, and per-page metadata added for the first time.
Branch-isolated and verified pixel-identical before cutover; the live site was untouched until the switch.
[ Design system ]
What it's built from.
Read off the delivered stylesheet, not chosen for this page.
Palette
Typefaces
Inter
Headings and body
Every route pre-rendered static, so the page arrives as HTML before a line of JavaScript runs.