Free · 60 s Free AI-readiness audit See your site the way ChatGPT does.
Personal reply within one business day.
OWN PRODUCT · LIVE ↗

Furniture · Configurator + marketplace · 2026

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.com

01 · 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.

Crawler sample · 45 seconds2026-10-01
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
Method: live sample of crawler requests before and after the static rebuild.

Does your site make crawlers wait for a server? See what AI sees.Free AI-readiness audit · about 60 seconds · no email needed for the score.

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.

  1. Step 1 (buyer): Design a shape, 155 shapes, 8 families.
  2. Step 2 (automated): Shape Finder, fits the real room. Rejected here: Paid ranking (refused: fit ranks first).
  3. Step 3 (buyer): Ask chosen makers, anonymous until then.
  4. Step 4 (automated): Seller portal, magic link, no password.
  5. Step 5 (maker): Maker quotes, direct to the buyer.
  6. Step 6 (live): Static storefront, 564 pages, 3 languages.
FIG 02 — How a SitShape request flows Every gold step is a person deciding. Makers pay to be listed, never to be ranked: the finder sorts by fit, lead time and responsiveness.
SitShape home page on desktop: “What shape do you sit in?” beside an isometric drawing of a curved sofa
SitShape home page on a phone with the Build a shape button
PLATE 01 — sitshape.com home, desktop and phone · live product, captured 2026-10-05
SitShape builder: a straight sofa drawn inside a room outline, with “Ask for a real price” SitShape seller page: “You sell sofas. We draw shapes.” with $0 until your first buyer and 0% of the sale
PLATE 02 — The builder and the seller pitch, desktop · live product, captured 2026-10-05

03 · Who did what

Who did what Agents propose. A human approves.

  1. agent://researcher

    Sized the market of independent sofa makers and how they win and lose work today.

    Never allowed to: set the price model.

  2. human://vegardHUMAN GATE

    Chose the model: a flat listing fee by territory, zero commission, and a trial that ends at the first lead.

  3. agent://architect

    Designed the module language that turns a list of pieces into a drawing, so no product photography is ever needed.

  4. agent://builder

    Built the configurator, the Shape Finder, the vendor portal and a static build that renders all 564 pages in 3 languages.

  5. agent://tester

    Runs 559 automated tests on every change, before anything ships.

    Never allowed to: mark a failing check as passed.

  6. human://userHUMAN GATE

    A buyer decides which makers see the request. Until then, nobody gets their details.

  7. 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.

SitShape: results with method and date
NumberWhat it measuresHow it was measuredObserved
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.

Not sure which fits? Book 20 minutes with me
08 · 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.