Hyvä after eighteen months — Nathan McBride Blog
Skip to content
Engineering25 July 20268 min read

Hyvä after eighteen months

What I would do differently having shipped Hyvä into production on four Magento rebuilds.

Hyvä is the best thing that has happened to Magento front-end work in a decade. Eighteen months and four production rebuilds later, that opinion has not changed. What has changed is my sense of what it is not — which turns out to be a longer list than the marketing pages suggest.

What Hyvä gets right

The front-end weight is genuinely gone. Ten times fewer dependencies, Core Web Vitals that actually pass, AlpineJS instead of the knockout-meets-jquery-meets-requirejs layer that Luma accumulated over a decade. A senior engineer can open the codebase and read it. A mid-weight engineer can ship against it. Both of those things were less true on Luma.

  • Tailwind-native — the brand team already speaks it
  • AlpineJS for widgets — stateful enough, simple enough, legible
  • Checkout stays on Luma or moves to Hyvä Checkout — cleanly separable
  • Extension compatibility layer is mature enough to trust in production

What I would do differently

The temptation on a Hyvä project is to rebuild every component from a Figma file. Do not. The widgets you need — cart, minicart, wishlist, product card, compare — already exist, already work, and already handle the edge cases your design team has not thought about yet. Style them, do not rebuild them.

Every widget I rewrote from scratch, I eventually wrote back into the Hyvä pattern. Every widget I styled, I kept.Every Hyvä retro I have ever run

The second mistake is treating the Hyvä checkout as a drop-in replacement for the Luma one. It is not. It is a different product with different coverage. On three of my four rebuilds, I left checkout on Luma for the first launch and moved it after. On the fourth I did both together and it cost me eight weeks I will never get back.

The thing that still surprises me

Hyvä will surface how broken your extension stack was. Modules that worked fine on Luma because Luma silently swallowed their failures will stop working the moment the DOM is not built on knockout. That is not a Hyvä problem. It is a Hyvä diagnosis. Budget a fortnight for it, you will need it.

MagentoHyväPerformanceAlpineJS