A store that had to be cheap to run
Short answer: A product business needed an English storefront for overseas buyers, and the constraint that shaped everything was running cost: no monthly platform fee, no per-app charges, no dependency on a service that can reprice or disappear. The result is a static storefront with the catalog in data files, deployed to an edge host, with the order form posting to an endpoint the client owns. Handover covered the build and the data format.
Checked on 2026-10-20
A product business needed an English storefront for overseas buyers. The requirement that shaped everything else was cost: no monthly platform subscription, no per-app fees, and no dependency on a service that could change its pricing or disappear.
What shaped the work?
One constraint shaped everything else: running cost. No monthly platform fee, no per-app charges, and no dependency on a service that could reprice or vanish. That is why the build is static pages plus a data file.
- One data file had to be the source of truth for the catalog — pricing and copy edited in one place.
- Orders had to reach a human immediately, on a channel that already existed: email.
- Everything that previously ranked had to keep working through the move: URL map, redirects, structured data.
- Pages had to be fast on a phone on a slow connection, because most traffic was mobile.
What does it run on?
Static generation · PHP for forms and order capture · structured data
What did we actually build?
The storefront is static pages plus a data file, deployed to an edge host, with the order form posting to an endpoint the client owns. What follows is the build, the constraint that shaped it, and what it does not do.
- Catalog and product pages generated from a single data file, so a price change is one line, not thirty pages.
- Order capture posts to a server-rendered endpoint and sends a structured notification email — no third-party checkout fee.
- Static output on cheap hosting, with PHP only where a form needs a server.
- Redirect map built from the old site's URL inventory before launch, not after the traffic graph fell over.
- Structured data and Core Web Vitals checked page by page before launch.
The choices that mattered
One data file
Content in one place beats a database when the catalog is small and hand-curated.
Email as the order channel
Fewer moving parts than a webhook chain, and it works on any device.
Static plus a little PHP
Fast and cheap to host, and it does not need a platform to stay alive.
Design for the phone
Desktop-only pages were the original problem: the numbers were there but nobody could read them on a phone.
What we would do next
- Order status page for buyers, generated from the same order records.
- Automated sitemap and schema checks in the release routine.
What is not on this page
No client name, no screenshots of their data and no metrics: those are theirs. What is here is the engineering, which is the part a buyer can evaluate. On a call we will walk through the code.