Mapped offer · Chosen
How a static rebuild cut SitShape’s crawler compute from 103 Worker calls to zero
SitShape is my own live product. Buyers design a sectional sofa as a shape, fit it to their real room, then ask local makers for a price without giving away their details. Makers pay a flat listing fee and never a commission. Then I rebuilt the storefront so every page is pre-rendered, and crawlers stopped costing compute.
Live at sitshape.com · English, Spanish, Chinese · numbers observed 2026-10-01 to 2026-10-05
Open the live product: sitshape.com01 · Before
Every crawler visit woke a server Fine for people. Expensive for bots.
The first version rendered pages on request inside a Cloudflare Worker. People never noticed. Crawlers did: they walk every shape, every sofa and every seller page, and each visit woke the Worker and burned compute. For a marketplace that wants to be found by search engines and AI assistants, that bill grows with exactly the traffic you want more of.
- pages
- risk: Shape, sofa and seller pages, rendered on request
- before
- problem: 103 Worker invocations from crawlers in 45 seconds
- cost curve
- problem: More crawling meant more compute, linearly
- the fix
- note: Pre-render all 564 pages at deploy time, in 3 languages
- after
- fine: 0 Worker invocations in the same 45-second sample
02 · What I built
Shape first, room second, price last Gold is a human decision. Teal is the machine at work.
Custom sofas are bought by eye and often arrive wrong, and small workshops can’t pay for photo shoots or marketplace commissions. So SitShape draws every sofa from a list of modules: no photography needed. Buyers start from 155 shapes in 8 families, fit one to their actual floor, and only then ask makers for a real price.
- Step 1 (buyer): Design a shape, 155 shapes, 8 families.
- Step 2 (automated): Shape Finder, fits the real room. Rejected here: Paid ranking (refused: fit ranks first).
- Step 3 (buyer): Ask chosen makers, anonymous until then.
- Step 4 (automated): Seller portal, magic link, no password.
- Step 5 (maker): Maker quotes, direct to the buyer.
- Step 6 (live): Static storefront, 564 pages, 3 languages.
03 · Who did what
Who did what Agents propose. A human approves.
-
agent://researcher
Sized the market of independent sofa makers and how they win and lose work today.
Never allowed to: set the price model.
-
human://vegardHUMAN GATE
Chose the model: a flat listing fee by territory, zero commission, and a trial that ends at the first lead.
-
agent://architect
Designed the module language that turns a list of pieces into a drawing, so no product photography is ever needed.
-
agent://builder
Built the configurator, the Shape Finder, the vendor portal and a static build that renders all 564 pages in 3 languages.
-
agent://tester
Runs 559 automated tests on every change, before anything ships.
Never allowed to: mark a failing check as passed.
-
human://userHUMAN GATE
A buyer decides which makers see the request. Until then, nobody gets their details.
-
agent://watcher
Runs the daily housekeeping for trials and leads; the admin console shows funnel, demand, sellers and requests.
Never allowed to: share a buyer’s details without consent.
04 · Results
Results, with receipts Every number dated, with its method.
| Number | What it measures | How it was measured | Observed |
|---|---|---|---|
| 103 → 0✓ verified | Worker invocations from crawlers in a 45-second sample, after the static rebuild | live sample | 2026-10-01 |
| 564✓ verified | pre-rendered pages in 3 languages | build output | 2026-10-01 |
| 559✓ verified | automated tests | test suite count | 2026-10-05 |
| 155✓ verified | sofa shapes in 8 families | catalogue | 2026-10-05 |
| $79–$349/mo✓ verified | flat seller listing plans by territory (Local, Regional, National), zero commission | pricing config | 2026-10-05 |
| Not measured yet | Seller sign-ups and buyer requests | early days; published once there is a quarter of data | — |
05 · Running costs
What it costs to run
The storefront is static files served from Cloudflare’s edge, so a crawler reading every page costs nothing in compute. The Worker only runs for the parts that need a server: buyer requests, the seller portal, payments. Stripe runs on Stripe’s own hosted pages, which keeps tracking scripts off the site and the no-cookie promise intact. One database, one daily cron, one email binding.
06 · Ownership
What you would own If I built this for your business.
- The code and the buildThe configurator, the static build and the portal, in your repository.
- Your Cloudflare accountWorkers, static assets, database and email, under your name.
- Your Stripe accountPlans, trials and the customer portal, all billed to you directly.
- The product languageThe module system that draws your products, documented.
- The test suiteEvery pricing, consent and storefront rule, tested.
- The admin consoleFunnel, demand, sellers, requests and emails in one place.
07 · What I’d build for you
A configurator or quote tool that sells, and costs almost nothing to serve
If you sell something configurable, from furniture and machinery to service packages, I’ll build the configurator or quote tool that lets buyers design it, see it, and ask for a price, on a static architecture that costs next to nothing to serve and that AI assistants can read in full.
- Visual configurator or quote builder, drawn from your product data
- Lead capture or Stripe checkout, on your own accounts
- Pre-rendered pages that search engines and AI crawlers read for free
- Optional MCP endpoint so AI agents can use your tool
Not for you if your product can’t be described by rules. I build tools on real logic, not guesses.
Or start smaller · Found
AI-Ready Website Rebuild
from €6,500 · $7,200 typical €8k–16k08 · Under the hood The technical depth, for your CTO
- Architecture
- Cloudflare Workers with static assets. A custom static-site build renders 564 pages at deploy time; the Worker runs only for buyer requests, the portal, billing and the admin console. Hono, TypeScript, an esbuild client bundle.
- Drawing engine
- SVG drawings generated from a module list, so every sofa is consistent and no product photography is needed.
- Data
- D1 with versioned migrations; magic-link auth for sellers, no passwords; a daily cron for trial and lead housekeeping.
- Billing
- Stripe Checkout and Customer Portal over plain fetch, no SDK. Plans $79–$349/mo; a 90-day trial that ends early at the first lead.
- Localisation
- English, Spanish and Chinese, with metric or imperial units by the visitor’s country.
- Privacy
- Cookieless by design; payments run on Stripe’s own hosted pages. Buyer details are released only to the makers the buyer chooses.
- Tests
- 559 automated tests on Node’s built-in test runner.


