• headless-commerce
  • medusa

Commerce platform: nothing merges until the gates pass

Published on
Talk about a full-time role

private repo, commit count

1,059 commits, seven CI workflows

Role
Architect and developer, my own product
Duration
March 2026 to September 2026, still in build
Technology
Next.js 16.2.12, Medusa v2, Sanity, Stripe, TypeScript, Vercel
Status
Deployed to production, not yet open to search

I own and build an online jewelry store: the pages a customer sees, the commerce service behind them, and a content layer the merchandising side edits directly. It has taken 1,059 commits since March 2026, counted with git rev-list --count on the main branch of its monorepo on 2026-09-13.

The store is built and deployed to production, and it is deliberately not yet open to search. Every page returns noindex, the instruction that keeps a page out of search results. That is why this case study carries no brand, no catalogue and no pricing. It also means a live Lighthouse SEO score on that site would read in the 60s by design, so I never quote one. The thresholds below measure the build before the noindex header is applied.

What the store has to do

Sell in more than one region and more than one language. Take card payment through Stripe. Hold customer accounts and an order flow. Let the merchandising side change the words and the pictures directly.

The commerce engine and the storefront are separate programs that talk over an API, an arrangement called headless. The engine is Medusa v2. The storefront is Next.js 16.2.12. The editorial content comes from Sanity.

The rules the build runs inside

The brand stays off this page. That is the project's own rule, so there is no name here, no product shot and no price, and everything below is about how the thing is built and checked.

The storefront and the commerce API live in one repository tree, so a single change can touch both sides at once.

How a change gets in

Nothing reaches the main branch until seven automated workflows have run against it. They run on every change before it can merge, which is what continuous integration means. They cover API checks, an end-to-end smoke suite, a release-integrity check, a design gate, and a rule-drift check that compares the codebase against the rules written for it and fails when the two disagree.

One of them measures the page itself. Lighthouse, Google's automated page audit, has to return 95 or higher for accessibility, SEO and best practices, and a run under the line stops the branch. What the gate reads is a score. A score is not a conformance audit, so I never call it WCAG compliance.

What is measured, and what is not

  • 1,059 commits on the main branch since March 2026, from git rev-list --count on 2026-09-13.
  • Seven CI workflows in the repository, counted in its workflow directory.
  • Accessibility, SEO and best-practices thresholds of 95 or higher, blocking, read from the Lighthouse workflow's own configuration.

There is no sales figure on this page and there will not be one until the store opens to search. Traffic and conversion numbers cannot be true of a site that tells search engines to stay out.

Stack

Next.js 16.2.12 storefront, Medusa v2 commerce API, Sanity for editorial content, Stripe for payment, TypeScript across both sides, deployed on Vercel.

Discuss a commerce build