Skip to content

← Client work·11 / 12

Events

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.