Before headless commerce was a settled category, my team ran an internal initiative to find out whether it was worth adopting. This was early. Not “early for our clients” early, actually early, when most of the tooling was still an argument rather than a product.
What we built
We built on Next.js Commerce, Vercel’s open-source starter, which was one of the few off-the-shelf ways to connect a Next.js frontend to a commerce backend at the time. Shopify’s own Hydrogen wasn’t the pick back then. Today it would probably be the obvious one.
Why it didn’t go further
Standard Shopify themes won, and it wasn’t close. Easier to maintain, an app ecosystem that already worked, none of the extra plumbing headless asked for. Being early wasn’t an advantage yet. It was mostly overhead.
What’s different now
The gap back then wasn’t the frontend framework. It was the layer underneath: no CMS was built for this kind of setup, so content was either custom or unproven. That part is solved now. Pairing Shopify with a real headless CMS (Sanity is the one I’d point to) gives you in an afternoon what used to take months of hand-rolling.
I don’t know how relevant Next.js Commerce still is, honestly. I haven’t gone back to check.
What I do know is that this was my first time working with no ticket and no deadline, just “does this hold up.” I got used to that pretty fast.