add to cart time
time between checkout steps
checkout completion rate
SunGod is a British performance eyewear brand and certified B Corp™, founded in 2013 with HQs in London and Verbier, Switzerland. Their mission is simple: See Better. Through their lenses, through their actions and through doing business better. SunGod has grown into a globally recognised performance eyewear business, that is community-built, performance-driven, and sustainable to the core.
SunGod is obsessed with its customers’ experience. By operating an independent, direct‑to‑consumer model, they control every step of their experience and offer highly customizable sunglasses and ski goggles that are backed by a lifetime guarantee, at a fairer price for customers and lower impact on the planet. Products are hand-assembled to order in the UK and delivered quickly.
Improving performance that impacts both customers and developers
Online, the company was faced with slow page loading times and speed and effort of introducing new features. This impacted both the customer and developer experiences.
SunGod has a highly customizable product, with a core range of nine styles of sunglasses and two styles of snow goggles. These glasses share many components which can be customized into 552,024 product combinations. Stock configuration was a laborious process, resulting in the business adapting to the technology rather than the reverse.
SunGod was on a monolithic backend platform that was reaching end of life and manifested the following limitations:
- Pages that could not be cached were inherently slow.
- Managing stock was resource intensive and could not adapt to business operations.
- Significant resources were required to run the site (even on an auto-scaling Kubernetes cluster), and they struggled with peaks in demand.
- Time to release new features, e.g. new shipping and payment methods, took months.
- When working on the frontend, inherent knowledge was required to make changes, resulting in a difficult developer experience.
Solving for speed and adapting technology to SunGod’s business model
SunGod evaluated several solutions and decided on Commerce Layer and a composable architecture. Commerce Layer’s key differentiators for SunGod were speed, quality of documentation and flexibility.
Despite having a very complex, customizable product, SunGod was able to represent their product and inventory in Commerce Layer exactly as it’s set up in the warehouse for assembly; each component is set up as a SKU in Commerce Layer with its own price and inventory level and directly maps to the components on shelves in the warehouse. The nine styles of sunglasses and two styles of snow goggles translated into only 579 SKUs, enabling over 550K product combinations. This was not previously possible, requiring multiple SKUs for the same component in order to successfully configure the product. Other platforms that were evaluated did not have this flexibility.
On the frontend, as the customer configures their product, a product bundle is created ”on the fly” in Commerce Layer and the final price presented to the customer as a single line item.
Timing and migration
The starting point was a monolithic backend application with a native PHP frontend. On July 30, 2021, SunGod created a developer account in Commerce Layer. By the end of October, the first test order was placed. After the peak holiday season, the first live order was placed in mid-January and the full rollover completed in early February. The migration path was as follows:
- Built a custom headless API for the monolith backend to handle product information and order management.
- Built Nuxt.js storefront backed by the monolith.
- Migrated all product information to DatoCMS, using it to manage their product catalog and the product attributes.
- Wrote routines to sync products, stock and vouchers between the monolith and Commerce Layer.
- Modified the fulfillment system to accept orders from either platform.
- Modified storefront to be backed by Commerce Layer instead.
- Gradually rolled out the modified storefront and monitored it for issues. Rolled back wherever required to implement fixes. Full rollout was completed in one week.
- Once stable at 100% rollout, disable synchronization routines and shut down the monolith.
Materially improved customer and developer experiences
Commerce Layer delivered on the promise of speed, documentation and flexibility.
- Significantly faster shopping experience
With no frontend design changes to checkout, the migration alone increased the purchase completion rate by 14% and conversion rate by 16.5%. Add to cart time dropped from >1,500ms to <200ms (often faster). Moving between checkout steps dropped from >2,000ms to 100-250ms.
- Much easier developer experience
SunGod is able to deliver upgrades significantly faster as Commerce Layer provides all the building blocks with expansive documentation and a highly responsive support team. As an example, a custom drop ship integration took one week with 2 developers while it would have taken several months in the previous platform.
- Direct mapping of the physical to digital
SunGod’s complexity comes from having components shared across multiple different products. This was met with Commerce Layer’s flexibility, enabling components to be bundled “on the fly” as the customer configures the product and adds to cart in a natural and performant manner. SunGod did not need to compromise on their business model.