Skip to content
Events · 11/12

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

01

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.

02

react-router replaced with next/link throughout, and per-page metadata added for the first time.

03

Branch-isolated and verified pixel-identical before cutover; the live site was untouched until the switch.

Next.js 14 (App Router)TypeScriptTailwindStatic export

What it does now

Eighteen routes that are now eighteen indexable pages, arriving as HTML before any JavaScript runs — and visually identical to what was there before.

[ Design system ]

What it's built from.

Read off the delivered stylesheet, not chosen for this page.

Palette

#FC6F03Brand orange
#171717Ink
#9CA3AFMuted

Typefaces

Inter

Headings and body

Every route pre-rendered static, so the page arrives as HTML before a line of JavaScript runs.