We will be speaking at Meet Magento Germany on 22 October 2026. Come say hello.

Proudly supporting Mage-OS contributors — limited lifetime free access. Mage-OS contributors, please reach out. Terms, policies, and FAQ are still being finalized.

Engineering

After Building StoreFrame in NEXT.js, Headless Magento Will Make a Big Comeback

11 minutes read
Laurentius Judhianto
Laurentius JudhiantoFounder, Platform Engineer
After Building StoreFrame in NEXT.js, Headless Magento Will Make a Big Comeback

PWA Studio, Vue Storefront, GraphCommerce, Rapidez, Breeze and Hyva: why headless Magento kept losing to cost, and why AI that writes JavaScript fluently may finally flip the verdict.

Headless Magento had a moment, and then it had a funeral. Ask my ex-colleagues about it. Magento developers have been chasing Lighthouse scores and a faster frontend since 2013, and most of us went back to the stack we already knew.

I was one of them: a Magento frontend developer stuck in the PHP world, knowing only a tiny bit of jQuery. NEXT.js was a foreign object. Then I built StoreFrame’s hub, and this site, www.storeframe.io, in NEXT.js. It is my first NEXT.js project. No joke. Somewhere in that build I changed my mind about the old headless debate, and the reason is sitting in my own codebase.

To explain why, we have to start with the original attempt, and why every attempt after it ran into the same wall.

Venia and PWA Studio: the original headless Magento

When Magento shipped PWA Studio with Venia as its reference storefront, it was the official answer to a slow Luma frontend: a React application, talking to Magento through GraphQL, with its own build pipeline and its own deploy. On paper it was the clean architecture. Magento becomes a commerce API, the storefront becomes a modern JavaScript app.

In practice, the complaint from web developers was always the same: you now needed two experienced developers. One who knows React, webpack and GraphQL. One who knows PHP, dependency injection and Magento’s module system. And those two people had to agree on every field, every resolver and every checkout step.

Spider-Man pointing meme: React dev and PHP dev pointing at each other when the Venia checkout breaks after a module update
Headless Magento, circa 2019: every bug lives exactly between two teams.

It got worse with extensions. The Magento module ecosystem was built for Luma. Every payment method, every shipping rule, every third-party module you bought had to expose its data over GraphQL and get a React counterpart before it worked in Venia. Many never did, so somebody wrote that bridge, by hand, store by store.

Adobe has since moved on. PWA Studio still gets maintenance and compatibility releases, but new storefront projects are pointed toward Edge Delivery Services instead. The original headless Magento is not dead. It is just no longer where anyone is building.

Vue Storefront: the community’s answer

Vue Storefront came out of the same frustration, from developers who wanted the Magento frontend fast and flexible, in Vue instead of React. For a while it was the exciting option, with a busy community and agencies building on it.

But it inherited the same bill: a separate JavaScript application, its own release cycle, and an integration layer to keep in sync with Magento. Over time the project went platform-agnostic, added a React kit, and in March 2024 rebranded as Alokai, positioned as a commercial frontend platform for many commerce backends. That may be a sound business. As the default way to build a Magento frontend, it never happened.

The alternatives that stayed

After those two, the ecosystem split into tools that chose a side: either fully decoupled, or as close to Magento’s own templates as possible.

Homepages of four Magento frontend alternatives: GraphCommerce, Rapidez, Breeze and Hyva
Four answers to the same question: GraphCommerce, Rapidez, Breeze and Hyva.

GraphCommerce

GraphCommerce is a React and NEXT.js storefront that talks to Magento through GraphQL only. It runs as a separate application and is the most modern take on the Venia idea. It is also, honestly, still two stacks: you need the React side and the Magento side, and the GraphQL contract in between.

Rapidez

Rapidez takes a different route: Laravel, Blade and Vue, reading catalog data straight from Magento’s database and Elasticsearch, with GraphQL for the rest. PHP developers feel at home in it. But it is still a second application next to Magento, with its own deploy and its own upgrade path.

Breeze

Breeze goes the other way. It keeps Luma’s templates and layout and swaps the heavy JavaScript underneath, RequireJS and Knockout, for a much lighter runtime. Most Luma-compatible modules keep working. No second application, no second team.

Hyva

Hyva is the one that won, at least this round. Tailwind and Alpine.js, a fraction of the bytes, a good Lighthouse score out of the box, and the .phtml and XML layout every Magento developer already knew. One lean stack instead of two. Since November 2025 the theme itself is free and open source.

There is a reason everyone in this industry knows Willem Wigman, Hyva’s founder. In fifteen years, only a handful of people have been able to show real work on both sides, frontend and backend. Hyva won because it did not ask every team to find one of those people.

Why headless died: cost, not architecture

So let’s be honest about why decoupled Magento didn’t win. A fast frontend talking to Magento purely as a commerce API is a good architecture. It died on cost and complexity, which is how most good architectures die.

Most PHP developers don’t do JavaScript. Most frontend developers who know a bit of PHP don’t do React either. And plenty of experienced Magento backend developers can’t centre a div inside a div. So headless meant two hires, two skill sets and two codebases to keep in step, forever. Hyva gave most of the speed for one. Why on earth run two stacks when one gets you nearly there?

Two buttons meme: a sweating Magento agency choosing between hiring a React developer and hiring a PHP developer
The real reason headless lost: you had to press both buttons.

What changed: AI speaks JavaScript fluently

Here is why I think the funeral was premature. Ask the obvious question: what is an AI agent almost unfairly good at? JavaScript. TypeScript. React. NEXT.js. Tailwind. The exact stack a decoupled frontend is built from.

That is not an accident. JavaScript and TypeScript sit at the top of GitHub’s language rankings year after year, and the frontend world has rewritten itself every few years: jQuery, Backbone, Angular, React, Vue, Svelte, NEXT.js. Each wave left behind millions of public repositories, tutorials, Stack Overflow answers and migration guides. Models learned from all of it. Magento’s XML layout and .phtml conventions are a small corner of the internet by comparison.

For a frontend developer, that is a relief. The churn that used to drive us crazy, a new framework, a new router, a new build tool every two years, is exactly what the agent has already read. You describe the component; it knows the idiom of whichever version you happen to be on.

Web fundamentals: the copy-paste Lighthouse 100

This is the part nobody wanted to say out loud. With a headless NEXT.js frontend, getting an almost, if not perfect, 100 Lighthouse score is close to mechanical. Run Lighthouse. Copy the report. Paste it into the prompt. The agent fixes what it lists: the LCP image without priority, the font that isn’t preloaded, the image without dimensions that shifts the layout, the JavaScript that ships but never runs. Run it again.

Expanding brain meme: hand-tuning RequireJS bundles, installing Hyva, rebuilding the frontend in Next.js, pasting the Lighthouse report into the prompt
Web performance, in four stages of enlightenment.

It works because in a headless frontend you own every byte on the page. Every Lighthouse finding points at code in your repository, in a framework the agent knows inside out. In a classic Magento theme the same report points into RequireJS bundles, third-party module templates and inline scripts you don’t own and can’t safely change. That loop is how I tuned this site, and it took minutes, not a sprint.

The fundamentals didn’t change: ship less JavaScript, size your images, load fonts properly, don’t block the main thread. What changed is the cost of applying them. It used to take a frontend specialist a weeks or months tweaking everything and breaking it over an upgrade. Now it takes an agent a coffee break.

Frontend and backend can finally work together

Remember the two-developer problem from Venia: two people, two stacks, and a GraphQL contract nobody wanted to own. That contract is where most headless projects bled time.

Now creating an API is a few prompts away. Need a GraphQL resolver for a custom module, or a REST endpoint for a checkout field? Describe it, let the agent write it, read the diff. Need the frontend to consume it? The same agent reads the schema and writes the typed client and the component. The backend developer doesn’t have to learn React, and the frontend developer doesn’t have to learn dependency injection. They meet at the contract, and the contract is cheap.

That is what happened to me. A Magento frontend developer with a bit of jQuery built a full NEXT.js product, with its API, websockets and dashboard, because the agent filled the half of the stack I never learned.

Claude Design: the Figma handoff disappears

The last piece is design. Claude Design, which Anthropic launched in April 2026, turns a prompt, a screenshot or your existing design system into a working prototype. Personally, I think it is a Figma killer, and the market briefly seemed to agree: Figma’s stock fell about 7% on launch day.

Distracted boyfriend meme: a frontend developer turning away from a Figma file toward a design that is already code
Every frontend developer who has rebuilt a Figma file by hand.

The reason matters more than the stock price. A Figma file is a picture of an interface that somebody still has to rebuild in code. What Claude Design produces is already HTML, CSS and JavaScript, and it hands off to Claude Code. Turning that into React components for a NEXT.js storefront is a short step, because it was never a drawing in the first place. Design, frontend and the API it calls now sit in one loop.

Why I picked NEXT.js over anything else

If AI writes the JavaScript, why NEXT.js and not something else? Fair question. Here is my honest answer, in four parts.

  1. Shadcn, nothing more and nothing less. shadcn/ui is the component library I am sworn to. It was born in React and NEXT.js; the Svelte and Vue versions are ports. I want to be on the original, not the copy.
  2. The ecosystem is more polished. Animation libraries like Motion (which started life as Framer Motion), frameworks, starter kits and tooling all land in React and NEXT.js first, and they are more finished there than anywhere else.
  3. Explicit beats clever when AI writes it. Svelte might be easier, and Nuxt might be a lot better in many ways, if I were writing the JavaScript myself. But the agent writes most of it. When the agent writes and reads every line, an explicit, even verbose component it can see all of matters more than an elegant abstraction that hides what is going on.
  4. The AI tools already speak React. Guess what v0, Vercel and Claude Design produce? React. When the tools that generate interfaces all default to the same stack, that is a strong hint about what the models know best.

And StoreFrame’s NEXT.js app isn’t another Hello World portfolio site. It isn’t even a simple CRUD app wrapped in auth and payments. Most of what happens inside it runs over websockets: live consoles, live deploy logs, live metrics streaming in from every store.

Almost nobody in the PHP world builds websockets. Magento leans on caching, and real-time is the exact opposite of a cache. So after taming that beast with an agent at my side, I am more than confident that NEXT.js is a solid choice when AI is writing the JavaScript.

Is this Hyva’s peak?

Every Magento frontend has had its period. Luma had one. PWA Studio had one. Vue Storefront had one. So it’s fair to ask whether Hyva will have its period too, and whether that is something to worry about.

Not tomorrow. Hyva is still a safe, fast choice for most merchants today, and nobody needs to panic about a store running on it. I’m not telling anyone to re-platform onto a headless build this afternoon.

But I’m skeptical it is the endgame. Every Magento frontend so far has been a bet on a niche skill: Knockout for Luma, React wired into GraphQL for Venia, .phtml with Alpine for Hyva. The pool of developers, and the training data behind every AI model, is overwhelmingly JavaScript. When the cost of a JavaScript frontend collapses, a stack built to avoid JavaScript loses its main reason to exist. At times, I'm as skeptical as staying on Magento too.

I’m on the headless bandwagon, 1000%

The thing that buried headless was economics, not architecture, and the economics just changed. When an agent can write the decoupled frontend, the API between the two halves and the design it starts from, the overhead stops being the dealbreaker it was. AI writes JavaScript like Magnus Carlsen plays blindfold chess.

So yes, I’m definitely on the bandwagon. StoreFrame’s own frontend already is: a NEXT.js app with the backend behind an API. Give the agents a few more turns of the crank, and a split frontend-and-backend Magento stops being the brave choice and becomes the sensible one.

I said in an earlier post that this was a story for another day. This is me starting to tell it. It isn’t mainstream yet. But for the first time in years, I’m betting on it.

We build StoreFrame’s own frontend in NEXT.js and run Magento underneath it — so when the headless math flips for real, we’ll be ready. Curious how we think about the stack?

See how StoreFrame works
Laurentius Judhianto
Laurentius JudhiantoFounder, Platform Engineer

A founder, an engineer at heart, an independent consultant who seek alternatives to the mainstream — Currently focused in burning AI tokens to deliver the best agentic e-Commerce experience.

View More
Why We Migrated All Our Customers to Mage-OS. What Is Mage-OS Anyway, Compared to Magento 2? Feature Image
5 min read
LJ
Laurentius JudhiantoFounder, Platform Engineer

Every Magento merchant asks whether the platform will still be here, and still be free, in five years. We stopped answering shop by shop and moved every customer to Mage-OS. Here's why.

Self-Hosted Proof of Work with ALTCHA: A Turnstile Alternative for Magento Feature Image
8 min read
LJ
Laurentius JudhiantoFounder, Platform Engineer

One decision saved us setup time on every store, kept catalogue pages fast and stopped more bots: a self-hosted, Turnstile-style challenge that installs itself.

How to Build a Bot Score: 11 Signals That Separate Scrapers from Shoppers Feature Image
6 min read
LJ
Laurentius JudhiantoFounder, Platform Engineer

More than ten detectors score every request before anything is decided. Here is the scoreboard, what each signal is bad at, and the customers we annoyed on the way.

How to Spot a Fake Chrome: JA4 and HTTP/2 Fingerprinting Explained Feature Image
5 min read
LJ
Laurentius JudhiantoFounder, Platform Engineer

Every bot says it is Chrome. The handshake says otherwise. How we read JA4 and HTTP/2 fingerprints at the edge, why we needed both, and where they fail.

OpenResty vs NGINX, Caddy and Traefik: Choosing The Edge For Magento Feature Image
8 min read
LJ
Laurentius JudhiantoFounder, Platform Engineer

There are a dozen ways to put a web server in front of Magento. I tried most of them and landed on OpenResty — NGINX with Lua superpowers. Here's the honest case for it, and against the alternatives.

Magento Anti-Bot and Anti-Scraping: A Layered Defence Guide for Self-Hosted Stores Feature Image
11 min read
LJ
Laurentius JudhiantoFounder, Platform Engineer

Half of a Magento store's traffic are bots, and today's scrapers solve puzzles and rent home internet. Here is the layered strategy we run, with real numbers.

The Perfect Agentic “Playground” for Magento Operators.

Bring your own cloud key and Claude subscription. We ship the containerized Magento platform — you keep the keys, the data, and the control.

StoreFrame management hub Console view with a Claude Code session answering questions about a Magento store