Projects

John Lewis
& Partners

Senior frontend developer as part of team 'Findability'. This project covered the rebrand and significant optimisation of one of the UK's largest chains of highend department stores and online retailers.

Screenshot of the John Lewis website; part of John Kavanagh's development portfolio.

In Brief

As one of the UK's premier department stores and online retail giants, John Lewis boasts an online catalogue of over 160,000 products, drawing in more than twenty million monthly visitors. Eight years ago, they undertook a complete identity and look/feel rebrand to 'John Lewis & Partners', aimed at refreshing their brand identity and visual presentation, and underscoring its commitment to partnership and quality.

My Role

Joining the 'Findability' team as their senior frontend developer, I was responsible for refactoring and maintaining their existing platform whilst optimising and adding features to improve user experience. In parallel, I was involved in developing their allnew React platform and key in the UI development of their 'John Lewis & Partners' rebrand: a complete rebuild of the website front end.

johnlewis.com
  1. React
  2. Handlebars
  3. HTML5 & SCSS
  4. Monetate
  5. Jest & Groovy
Photograph of the new John Lewis & Partners sign outside their Oxford Street store.

In Detail

In early 2018, I joined John Lewis as a senior frontend developer primarily attached to 'Findability' – an eclectic and highenergy team responsible for maintaining and improving the customer's journey through the site. In a nutshell, Findability makes sure that visitors to the John Lewis website can quickly and easily find what they are looking for.

Attracting in the region of forty million visitors each month and allowing customers access to over 160,000 products, the johnlewis.com website was a monolithic beast: a dusty Java inventory system with a Javabased middletier alongside AEM for content, and a front end primarily built in Handlebars with Sass and vanilla JavaScript. Testing was covered via Groovy and clientside unit tests, whilst additional A/B testing came via New Relic and Monetate.

Where responsibilities for different areas of the site had started to be divvied up amongst the various teams, a small amount of standalone React had also made an appearance within the codebases.

The remit was wide: as a team, we owned the sitewide header and footer, the technology behind the search engine, the product listing pages and filtering mechanisms, and eventually the product details pages, too, amongst many others.

During my time at John Lewis, my team and I introduced countless improvements, optimisations and new features, including an intelligent 'chunk loading' system, which allowed us to introduce infinite scrolling to the Product Details page whilst retaining the chunkbased delivery from the backend. This used localStorage to keep track of data onpage and position, whilst only calling for additional data when it was clear the user intent would require it. This reduced page load times significantly, increasing users' ability to find what they were looking for and removing redundant calls back to the serving infrastructure.

Another performance issue my team and I tackled very early on was a culling of thirdparty scripts and clutter loaded onto the page. At the start of our audit, nearly forty different thirdparty scripts were being brought in at load time. This was delaying page load speeds considerably and to make matters worse many of these scripts were actively listening and processing onscreen events like scroll. This was making pages across the site unresponsive and janky for endusers and made developing new features for the site much more complex, all the while adding very little, if anything, beneficial to those users.

It fell to me to catalogue these thirdparty scripts and their performance impact, and then try to trace which team within John Lewis originally introduced them. Fun!

Over the course of several months, our team reduced this thirdparty bloat by over 75% (again, with no discernible benefit or obstruction to the enduser). In turn, this drastically improved site performance and reduced bounce rate. But, frustratingly, in many cases, these thirdparty scripts had long since been forgotten about: introduced by teams who had then forgotten to take them out again when they had served their use.

The largest piece of work I was involved in was already nearly two years in motion when I joined: the rebranding and repositioning of John Lewis and Waitrose to 'John Lewis & Partners' and 'Waitrose & Partners' respectively. Internally, this was known as 'Project B', whilst 'Project A' referred to the preexisting branding, look and feel.

Moving away from a warm and green feel to a much more minimalist and monochrome appearance online was a significant task. So, over several months, we put together a concise style guide and matrix of every onsite element that would need to change due to the rebrand.

This rebrand allowed us the opportunity to purposefully refactor and standardise a lot of the codebase, consolidating almost every styling element into Sass variables, which could then be switched via a feature switch at build time. The result was two identical versions of the site running sidebyside and a simple feature toggle on the morning of 4th September 2018.

Rebranding Guidelines

As you might expect from a process that had stretched over more than two years, the new branding guidelines were considered and comprehensive. The number of PLP grid item variations is an excellent example of just how convoluted the different options and additions to a product could be, all of which needed catering for...

John Lewis & Partners rebrand Typography style guide.John Lewis & Partners rebrand Grid Components style guide.

Homepage: A vs. B

The homepage was arguably the most important part of the redesign: the first new page many visitors would arrive at. This was rebuilt in React and integrated with an existing AEM configuration, allowing content creators more customisation than the previous 'Brand A' variant had. With this version, it was possible to manage the presiding marketing content, pull in related and relevant products to highlight, and even change the logo for occasions such as Pride.

Screenshot of the John Lewis Homepage, desktop screen size, in the pre-rebrand styling.Screenshot of the John Lewis & Partners Homepage, desktop screen size, in the new brand styling with additional Pride rainbow branding.
Screenshot of the John Lewis & Partners Homepage, tablet screen size, in the new brand styling, plus additional Pride rainbow branding.Screenshot of the John Lewis & Partners Homepage, mobile screen size, in the new brand styling and additional Pride rainbow branding.

Product Listing Page

Filtering and navigating through Product Listing Pages on the John Lewis website had been identified as a pinchpoint for customers (a common problem in larger ecommerce platforms where the options and variety can make categorisation difficult). So, as a part of team Findability, this fell under our remit and was extensively rebuilt and restructured (particularly for mobile users) to help customers find what they are looking for.

Screenshot of the John Lewis Product Listing page (televisions), desktop screen size, in the pre-rebrand styling.Screenshot of the John Lewis & Partners Product Listing page (televisions), desktop screen size, in the new brand styling.
Screenshot of the John Lewis & Partners Product Listing page (smart speakers), mobile screen size, in the new brand styling.Screenshot of the John Lewis Product Listing page (smart speakers), mobile screen size, in the pre-rebrand styling.

Product Details Page: A vs. B

Aside from an extensive reworking during the rebrand, the PDPs also underwent considerable change under my tenure. What had become a convoluted jumble of legacy logic and spaghetti code over several previous iterations (and previous developers) became the responsibility of my team and me. This was carefully extracted out into React components with customisation options and variation logic offset as far as was possible to the back end.

Screenshot of the John Lewis Product Details page (a washing machine), desktop screen size, in the pre-rebrand styling.Screenshot of the John Lewis & Partners Product Details page (a washing machine), desktop screen size, in the new brand styling.
Screenshot of the John Lewis & Partners Product Details page (a chair), mobile screen size, in the new brand styling.Screenshot of the John Lewis Product Details page (a chair), mobile screen size, in the pre-rebrand styling.

The Big Reveal

The first outing for the new 'John Lewis & Partners' branding was combined with the 2019 Christmas advert (something John Lewis is renowned for): Bohemian Rhapsody.


There’s more
where this came from.

I’ve been doing this a long time, and this is just the tip of the iceberg. I’ve built a wide range of digital products for clients who expect quality and precision. Reach out if you’d like to discuss yours.

Get in touch