the journey
Grid, product, basket, and then a wall
Everything up to the basket is designed as one piece with the brand. The step after it is a provider's, and the wall is drawn on purpose rather than blurred.
Disciplines 03 · E‑commerce
Digital storefront concepts focused on product presentation, hierarchy, browsing and checkout interaction. This page opens by asking whether a custom build is even the right answer for a given business — a question worth exploring honestly rather than assuming yes.
01 · The decision
Often, no. Marketplaces and hosted platforms handle checkout, payments, tax and fraud better than anything built from scratch, and a small merchant who picks one is behaving rationally rather than lazily. The interesting question is not which is better in the abstract. It is which of these two a given business actually is — and the honest version of that question has a side where custom loses.
the case for a marketplace
the case for a custom build
If three of the five on the left describe a business, that is worth saying plainly, and naming the platform that fits better. That is not modesty. A store built for a business that needed a marketplace is a store that fails — and it fails with the builder's name on it.
02 · What is in one
Which is why it is worth being exact about where the storefront ends. Six things a custom store is made of, and one of them is a boundary rather than a feature.
the journey
Everything up to the basket is designed as one piece with the brand. The step after it is a provider's, and the wall is drawn on purpose rather than blurred.
payments
Tax across borders, fraud scoring, chargebacks, PCI scope — that is somebody's full-time job and it is a discipline of its own. Anyone offering to hand-build it is offering a liability with a nice interface on it.
the states nobody demos
A basket that emptied itself. A filter that returns nothing. Every one of these is a real screen a real shopper hits, and every one of them is drawn.
variants
Size, colour, finish. The ones that can't be bought are shown as unavailable rather than hidden, so nobody picks their way into a dead end and blames themselves for it.
the relationship
Domain, hosting, analytics, repository and the customer relationship itself, in order from the first week. Leaving a platform later is a migration chosen rather than one whose price is discovered on the way out.
the catalogue
Moving an existing catalogue is real work whose size nobody can know until somebody opens the data. It's a separate exploration in its own right, not something to assume away.
03 · The concession, and the gap
Checkout, and everything behind it. On a custom store those are still never hand-built: the checkout is a provider's, kept separate, and the build stops at the handoff to it.
What no platform ships by default is a store that works for someone who is not using a mouse. That is a build decision rather than a plan tier, and on a custom store it is a decision made in the open instead of one that gets inherited — every control reachable by keyboard, focus visible everywhere it lands, quantity and variant changes announced rather than silently applied, and the whole path from product grid to basket walked by hand.
Built to WCAG 2.1 AA practice, which is a description of how the work is done and not a legal opinion — no badge here, and no legal claim either. The test is one that runs on any shop: put the mouse down, press Tab from the first product to the basket, and see whether it finishes.
04 · What I test for
Same size, same weight, both columns. On a store the right-hand column is longer than on any other page here, because a shop touches more systems than anything else here explores.
05 · The objection
Parts of it, yes, and that is the honest trade. Adding a payment method or a shipping rule on a hosted platform is a switch; on a custom store it is work.
What that buys is that nothing about the design, the buying journey or the customer data is decided by a plan tier, and none of it is rented. The domain, the hosting, the analytics, the repository and the customer list stay in order from the first week, so leaving is a migration chosen rather than one whose price is discovered on the way out. The store is plain files and a provider's checkout — readable end to end, with no plan tier standing between the design and what it can do.
06 · The work
There is no store in the ten you can buy something from. The nearest is a product-led build with a grid, product cards and a basket that counts — and no checkout behind it, so I am not going to call it a shop. What the three below do show is catalogue work: how a set of things is laid out, priced on the page and made legible at a glance.
Product grid and basket · 2020. Four product cards, a batch-limited range and a basket counter that tracks the page. Static files, no checkout — the storefront surface without the transaction.
A catalogue of few, expensive things · 2025. Set so restraint reads as confidence rather than as an empty page. The opposite problem to a thousand items in a grid, and the harder of the two.
A priced list people read · 2021. A menu set as editorial rather than as a table, which is the same problem a product page has and almost never solves.
See the ten builds — all self-initiated, all live, all with the source open.
e‑commerce
There is no checkout in the ten, but the catalogue thinking — states, variants, restraint under a grid — is already running. The projects show the same discipline applied.