Northwind Logistics had a website that worked perfectly well — in 2013. Thirteen years later it was quietly costing them about a third of every enquiry that reached it.
The Challenge
Northwind runs fourteen branches across three countries. Each one had drifted into publishing its own pages, its own contact forms and, eventually, its own version of the price list. The result was a 340-page portal where the marketing team could not confidently say which page a customer would land on.
The measurable damage was in the numbers. Mobile pages took just over nine seconds to become usable. Around 44% of enquiry forms were abandoned mid-way. And because every branch form posted to a different inbox, nobody could say how many leads actually arrived — only how many were eventually answered.
What we found in the audit
We spent the first ten days measuring rather than designing. Three findings shaped everything that followed:
- Weight, not hosting. The server responded in 180 ms. The problem was 2.8 MB of unoptimised imagery and four separate analytics scripts loading before any content rendered.
- Forms were the real leak. Session recordings showed users completing four of seven fields, then stopping at a required "company registration number" that half of their customers do not have.
- Duplication was structural. Nine of the fourteen branches described the same service in slightly different words, so the pages competed with each other in search results.
What We Did
We rebuilt the portal on a modular design system: eleven reusable blocks that every branch composes their page from, rather than writing markup by hand. Branch managers kept their autonomy over content and lost the ability to break the layout.
Enquiry forms were reduced from seven fields to three, with the optional detail moved to a second step that only appears after the first submit succeeds. Every form now posts to one validated pipeline with a single source of truth for lead counts.
On performance, we moved to responsive images with modern formats, deferred all third-party scripts until first interaction, and inlined only the CSS needed for the first screen. Nothing exotic — just applied consistently.
How we worked
Eight weeks, shipped in weekly increments. Every Friday the client saw the current build on a staging URL and had until Monday to comment. That rhythm caught two significant misunderstandings in week three rather than week seven, which is the entire point of working that way.
- Weeks 1–2 — audit, analytics baseline, content inventory of all 340 pages.
- Weeks 3–4 — design system, component library, branch template.
- Weeks 5–6 — migration of 112 surviving pages, redirects for the rest.
- Weeks 7–8 — performance pass, accessibility audit, staff training, launch.
The Outcome
Ninety days after launch, qualified leads were up 62% against the same quarter the previous year, on roughly flat traffic. The gain came almost entirely from form completion, not from more visitors — which is usually the cheaper win and almost always the overlooked one.
Largest Contentful Paint on mobile went from 9.1 s to 1.2 s. Cost per acquisition on their paid campaigns fell 38%, because the same ad spend now landed on pages that converted.
They spent the first two weeks telling us things about our own website that we did not want to hear. That turned out to be the most valuable part of the project.
Helena Vos — Operations Director, Northwind Logistics
What we would do differently
We under-estimated content migration. Deciding which of 340 pages deserved to survive was a business decision, not a technical one, and it needed the client in the room far earlier than week five. On the next project of this shape we run the content triage in parallel with design, not after it.
Working on something similar?
and we will send a written scope with a fixed price.
