
Modernising John Lewis: Frontend, Infrastructure, and Everything in Between
A long-running engagement spanning Next.js migration, GCP infrastructure, third-party dependency removal, microfrontend architecture, and CI/CD modernisation — across both John Lewis and Waitrose.
4+
Distinct engineering phases delivered
2
Brands — John Lewis & Waitrose
On-prem → GCP
Membership infrastructure migration
Eliminated
Third-party membership data dependency
The challenge
John Lewis had accumulated technical debt across the full stack. The product description page — one of the highest-traffic pages in retail — had grown complex enough that frontend changes were slow and risky. The membership module underpinning their loyalty programme was running on on-premise infrastructure. A critical dependency on an external third-party service controlled the membership data model and drove physical card fulfilment — meaning any loyalty programme change required external vendor coordination. The delivery pipeline, built on Jenkins, had become a bottleneck: slow builds, manual steps, and configuration that required specialist knowledge to maintain.
What we did
- 1
Next.js migration — Product Description Page
The PDP was the first target: a high-traffic page that had accumulated enough complexity to make frontend changes genuinely risky. We migrated it to Next.js, establishing the architectural direction for the wider frontend and making the page faster, safer to change, and owned by the team rather than feared by them.
- 2
Membership module — on-premise to GCP
We lifted the membership module from on-site hardware to GCP. This wasn't just a hosting change — on-premise systems carry infrastructure-level assumptions baked into networking, state management, and service discovery that have to be unpicked before you can rebuild cleanly. The result is a module that scales, is fully observable, and no longer depends on physical hardware availability.
- 3
Removing the third-party membership dependency
The external service that held the membership data model and drove physical card generation was a liability — any loyalty programme change required coordinating with a vendor who had no incentive to move quickly. We began building equivalent capability in-house, migrating data and integrations without disrupting members or the card fulfilment process. Work is ongoing; the direction is full ownership.
- 4
Microfrontends — Rewards module
Rather than one team owning a monolithic rewards frontend, we designed and built a microfrontend architecture that lets each team deploy their slice independently. This eliminated the release coupling that had been forcing the rewards roadmap to slow down whenever any part of the frontend needed a change.
- 5
Extending GCP to MyWaitrose & My JL + replacing Jenkins
The current phase brings the same infrastructure modernisation to the Waitrose and John Lewis card programmes, while replacing Jenkins with a self-service delivery pipeline driven by quality gates. Engineers will ship without waiting on a shared resource — and release decisions will be driven by automated signals, not manual coordination.
The outcome
- Next.js PDP migration complete — frontend changes are faster, safer, and owned by the team rather than feared.
- Membership module live on GCP — scalable, observable, and free from on-site hardware constraints.
- Third-party membership dependency in active removal — full data model ownership within reach.
- Microfrontend rewards module enables parallel development across teams with no release coupling.
- Jenkins pipeline replacement in progress — moving toward a self-service, auditable delivery process.
Stack & approach
Work with us
Facing a similar challenge? Let's look at it together.
We embed in your team, diagnose the actual problem, and deliver a specific, measurable result. No drawn-out retainers. No vague roadmaps.
Start the conversation →
