Definition
Alpine.js is a lightweight JavaScript framework that adds reactivity through HTML attributes. Hyvä uses Alpine instead of Magento Luma's Knockout.js for interactive frontend behaviour — cart updates, mini-carts, address forms, search autocomplete. Alpine ships at ~15 KB gzipped versus Knockout's ~25 KB plus RequireJS overhead, and the learning curve is dramatically shorter.
Why Hyvä picked Alpine over Knockout
Knockout (Magento Luma's frontend framework) was a reasonable choice in 2014 but ages badly — verbose syntax, heavy RequireJS coupling, hard for current frontend engineers to read. Alpine offers the same reactive-attribute pattern with one-tenth the boilerplate, no RequireJS, and conventions that overlap directly with Tailwind utility classes.
What Alpine looks like on a Hyvä page
Alpine attaches behaviour with HTML attributes:x-data for state, x-on for events,x-show for visibility. A Hyvä mini-cart is a dozen lines of Alpine; the Luma equivalent is hundreds of lines of Knockout view models. The performance and maintainability gap is the practical reason Hyvä is faster to ship and faster to render.
Do I need to learn Alpine to work on a Hyvä site?
For frontend customisation work, yes. The good news: Alpine is small enough to learn end-to-end in a day, the entire API surface fits on one page, and the syntax is close enough to Vue.js that any engineer who has used Vue is productive in Alpine immediately.