The problem
The store ran on Magento’s Luma theme and scored about 28 on Lighthouse. Luma loads a lot of JavaScript (RequireJS, Knockout and jQuery), and with a catalog full of large product photos, pages were slow to appear and slow to respond. For a jewellery store, where people browse many products before buying, that costs sales and rankings.
What I did
- Rebuilt the storefront on Hyvä, which replaces Luma’s front end with Alpine.js and Tailwind CSS and ships far less JavaScript.
- Moved the custom features across, including live pricing that changes with the diamond and metal a shopper picks.
- Lazy-loaded images below the fold and tuned the caching.
- Refactored slow code and optimised the database queries behind the busiest pages.
The result
The Lighthouse score went from about 28 to over 80, and the store kept every feature it had on Luma.
Stack
Magento 2, Hyvä, Alpine.js, Tailwind CSS, Redis, Algolia
I delivered this work as a senior engineer on the client’s project team.