The Discovery Shoot-out

One real garage · one interview brief · three AI builders — PageMotor Discovery AI field test, 22 July 2026 · updated 24 July with round two

One garage. One brief. Three very different builders.

Baytree Road Garage — a real, family-run MOT garage in Weston-super-Mare, est. 1949 — was interviewed by an AI on a live PageMotor site, producing a locked Design Brief. Three LLMs then each turned that same brief into a five-page website: two through the automated Discovery pipeline, one working hands-on through the site's API. This is what actually happened, receipts included.

Updated 24 July: the blind verdict is in, five plugin releases later the readiness list is green, and round two verdicts are in — engines revealed and ranked in the Round two tab.
ContenderRouteInterviewBuild (hands-off)Pages vs briefOutcome
Kimi K3
reasoning model · Moonshot
Discovery pipeline
amber-reef
30 min — praised by the tester ~2¼ h once configured
~20 min/page + verify pass
5 / 5 + verified Stalled for hours on default settings, then — given a 64k-token rope — delivered the richest, most characterful site of the pipeline pair
Claude Sonnet 4.6
Anthropic
Discovery pipeline
golden-vale
10 min — brisk ~20 min total 3 / 5 — no MOT, no About Fastest and drama-free, with a handsome phone-first design — but it quietly shipped 60% of the brief, and it wasn't even meant to be the designer (see below)
Claude Fable
claude-fable-5 · Anthropic
Agent, hands-on via the site API
amber-reef /claude-*
— (reused K3's brief) ~40 min incl. design QA 5 / 5 Built page-by-page with screenshot self-review before publishing; a different methodology, included as a reference ceiling rather than a pipeline datapoint

The three findings that matter

1 · The "Claude arm" never fielded its intended designer. Golden-vale was configured as Sonnet-interviews / Opus-designs — but a one-line plugin bug routed page generation to the interview model on every rig. So the Claude pipeline site was designed by Sonnet 4.6, and Claude Opus 4.7 had not yet raced at all. The same bug is what starved Kimi K3 for four hours on amber (details in “How it actually went”). Since resolved: the routing fix shipped in 1.2.1 and Opus 4.7 built the round-one Claude arm the next day — the receipts are in the Round two tab.
2 · Reasoning models need different plumbing, not different talent. K3 kept returning empty responses — it was spending its entire 16k-token budget thinking, leaving nothing for the page. At 64k tokens and a 25-minute per-call leash it delivered every page, roughly double the size of a fast-model equivalent. Talent wasn't the blocker; the harness was.
3 · Completeness beats polish and speed beats nothing. Sonnet finished in 20 drama-free minutes but silently dropped the MOT page — the single most commercially important page for an MOT garage — and the About page carrying the 1949 family story the whole design leans on. Nothing in the pipeline flagged the shortfall. A build that reports what it skipped would have turned a hidden failure into a visible one.

Disclosure: this report was written by one of the contenders (Claude Fable). Every measurable claim comes from page source, live timestamps or server logs and is reproducible from the receipts in Scorecard and Methodology; the aesthetic observations are labelled as the author's read, and the screenshots let you judge those yourself.

Scorecard

Measured first, judged second. Everything in this section can be re-derived from the shipped page source.

Pages delivered against the brief's five

Kimi K35 / 5Claude Sonnet 4.63 / 5 MOT & About missingClaude Fable5 / 5

Hands-off build time (interview excluded)

Kimi K3135 min ~20 min a pageClaude Sonnet 4.620 minClaude Fable40 min incl. design QA

K3's figure is its clean post-fix run (five pages sequentially at ~15–25 min each plus the verify pass). Fable's includes design, local screenshot QA and publishing, and is a different methodology — see fairness notes.

Total shipped page weight

Kimi K3179 KBClaude Sonnet 4.6113 KB 3 pagesClaude Fable82 KB

Author-shipped HTML per site, summed. Weight is neither good nor bad by itself — K3's extra bytes bought texture and detail; Fable's economy bought speed — but it tracks how much stuff each model chose to make. Sonnet's total covers only three pages.

Measured checklist

CheckKimi K3Sonnet 4.6Fable
All five brief pages (incl. About & MOT)Yes — 5/5, verifiedNo — 3/5Yes — 5/5
Phone-first: tel: links across site3916 (3 pages)18
Correct phone & address on every pageYesYesYes
Brief's banned words in copy000
External scripts / trackersNoneNoneNone (one font stylesheet)
Executable JavaScript shippedNone (JSON-LD only)MinimalNone
“Website Discovery” leaking into page metadataYes — platform-injectedYes — platform-injectedYes — platform-injected
Drama during build4 h stall + ~$20 tokens before fixesNoneNone (one badge redraw in QA)

The “Website Discovery” leak is a platform bug, not a model failing — the site-name setting isn't updated on delivery, so every contender's pages inherit it in og:site_name and JSON-LD.

The author's read (judge for yourself in the Gallery)

K3 made the bravest site: a fully-committed vintage job-card world — stamps, ticket-stub dividers, ledger numbering, a hand-sketched map. It reads like a designer with a concept, and it's the only build a visitor might describe as memorable. Its looseness is real too: the header changes outfit on every page, and one “photo” is secretly the logo.

Sonnet made the most conventionally handsome pages — a big serif phone number as the hero is exactly right for this business — but a site that's missing its MOT page hasn't finished the job, however nice its typography.

Fable (the author) aimed for disciplined heritage: one consistent system, restored About page, plain-spoken copy, zero JS. Readers should discount the author's own aesthetic opinion of it accordingly — the screenshots are next door.

How it actually went

The result table hides the day's real story: the first eight hours were an incident, and the incident is where the engineering lessons live. All times Irish, 22 July 2026.

  1. 11:07 — a genuinely lovely interview. Keith (the tester, a developer posing as the garage's owner using its real details) finished a 30-minute chat with K3. It read his uploaded 1949 badge, pulled cream-and-red from it, captured his exact strapline, and locked a rich Design Brief. The holding page went live and the auto-build started.
  2. 11:07–13:30 — the silent stall. Zero pages appeared. Investigation through the site's API found the build attempting, failing and re-arming roughly every 15 minutes — with no error logged anywhere, the owner dashboard reporting “live and healthy”, and the token meter running on every attempt.
  3. ~12:50 — the smoking gun. A direct probe of the model showed K3 spending 2,045 of a 2,048-token budget on hidden reasoning and returning zero characters of content. Reasoning models think before they speak; the pipeline's budget was smaller than the thinking.
  4. ~14:45 — the one-line bug. Reading the plugin source revealed the deeper fault: page generation called the interview model instead of the configured synthesis model. This simultaneously explained K3's starvation on amber and silently re-cast golden-vale's designer from Opus to Sonnet. A config landmine was also defused on golden — its Anthropic credentials were pointed at Moonshot's API endpoint.
  5. 14:51–17:03 — K3 gets its rope. With the fix applied on amber, a 64,000-token budget and a 25-minute per-call leash, K3 generated all five pages (~15–25 minutes each, pages roughly twice the weight of a fast-model draft) and passed the pipeline's verification pass. An interim attempt with the fast k2.7 model completed in minutes but was rejected on quality.
  6. 13:20–13:53 — golden's clean run. Keith re-answered identically on golden-vale: 10-minute interview, ~20-minute build, no drama — but only three of five pages, built by Sonnet rather than the intended Opus.
  7. 15:11–15:24 — the third contender. Fable, working as an agent with the same locked brief, designed and published five pages to side-by-side URLs on amber, screenshot-checking each before it went live.

What the incident taught (the transferable bits)

Give reasoning models budgets sized for thinking plus answering, and treat empty-content-at-token-limit as “budget too small”, not “model said nothing”. Cap retries and log every failure — a $20 silent loop should be impossible. Don't couple build progress to whether a human keeps a browser tab open. Validate provider config at save time (one test call would have caught both sites' misconfigurations in seconds). And make pipelines assert the brief — a build that delivers three of five pages should say so, loudly, rather than report success.

Methodology & fairness

Kimi K3Sonnet 4.6Fable
Brief sourceKeith's 30-min interview (K3 as interviewer)Keith re-answered the same answers verbatim (Sonnet as interviewer)K3's locked brief, reused untouched
Generation routePipeline: single large generations per pagePipeline: single large generations per pageAgent: iterative authoring + local screenshot QA before publish
Special conditionsPost-fix rerun; 64k tokens, 25-min per-call timeoutStock settings; built by the interview model due to the routing bugFull tool access; also wrote this report (disclosed)
Judged fromThe exact HTML each contender shipped (retrieved via the sites' API), rendered identically offline

Honest caveats

Not yet a K3-vs-Opus verdict (as of 22 July — since delivered). The intended headline bout — K3-as-designer vs Opus-as-designer — hadn't happened, because the routing bug substituted Sonnet. It has now run twice: blind, both testers, verdicts in the Round two tab.

Different ropes. K3 raced after bespoke tuning; Sonnet raced on stock (buggy) settings; Fable raced with a fundamentally different method. This report is a field study of what each route really took, not a controlled lab benchmark.

Screenshots are offline renders. Each contender's shipped HTML was rendered locally with brand images swapped for one neutral placeholder (the live sites all show the real badge). Fable's visible roundel is its own inline fallback mark — a property of that build, not special treatment.

Did any AI scrape the garage's real website? No — checked on both interview arms. Neither brief contains a site URL or analysis reference (existing_site_url empty/null on both), the logo is flagged as client-uploaded, and every fact traces to what the tester typed. Keith's question, answered with receipts.

Round two — six releases, six rigs, and now two verdicts

Everything below happened after the report opposite was written: the readiness list became five shipped releases, the first blind head-to-head got a verdict and a cost sheet, and round two is now live — two testers, three fresh rigs each, much deeper seeding. Updated 24 July 2026 (twice: a sixth engine arrived mid-round).

Round one’s blind verdict (Chris, disc-golf niche, 23 July)

ArmSite it builtPagesRecorded build tokensEst. build costPer page
Kimi K3“Yeet Disc Golf” · crimson-moor299,982~$1.10~$0.57
Claude · Sonnet interview, Opus 4.7 build“The Brand” · umber-heath4130,188~$2.50~$0.62

Tokens are provider-reported, recorded per session by 1.2.1’s spend ledger; dollar estimates assume a typical output-heavy split at list prices (K3 $3/$15, Opus 4.7 $5/$25 per Mtok — making the build model roughly 2x cheaper, a correction to the 4–5x first quoted; the interview models are price-identical). Per page built, the two arms land almost level.

The verdict: testing blind, Chris picked the Kimi build — “edge to 1; I’d want to go into battle with that model” — for personality and naming, while conceding the Claude arm built the more complete site. His sharper point came after the reveal: he had given the Kimi arm richer answers because its questions probed harder. Better questions, better answers — the interview, not the page generator, may be the real battleground.
A detail the records settled: the Claude arm’s own session records title the business correctly — its interview captured the name; the build dropped it. The naming failure was synthesis-side, which strengthens the interview-quality thesis round two is designed to test.

Five releases in three days

ReleaseWhat it changed
1.2.1 · 22 JulThe readiness list, essentially: synthesis-model routing fleet-wide, per-provider build budgets, 3-strike retry cap, session spend ceiling, kill switch honoured, cancel-build, must-have-pages assertion, save-time preflight, failure logging, honest holding page
1.2.2 · 22 JulNiche packs feed the build prompts, not just the interview
1.2.3 · 23 JulInterview turns became reasoning-aware (16k tokens / 240s) after Chris hit budget starvation live mid-test — reproduced and fixed within the hour; his timestamps did the work
1.2.4 · 23 JulChris’s UX punch list: typing dots animate, the build-done state clears properly, a heartbeat pulse on the phase line
1.2.5 · 23 JulReasoning-sized budgets extended to a second always-thinking interviewer model (now revealable: claude-fable-5, this report’s own author-model, as the interviewer on one arm of each pair), plus a new deep niche pack
1.2.6 · 24 JulReasoning budgets extended to the whole newest model family, hours after a brand-new flagship dropped — which promptly joined the grid as a third arm (below)
1.2.7 · 25 JulBrand assets finally wear the site's own colours. The favicon, share card and hero were coloured from the design brief's palette, but the reader only accepted hex codes in one exact shape, so a brief that named its colours in words — or listed bare hex without labels — had every value thrown away and fell back to the tool's own purple. Verified identical on all six sites of round two, whichever engine built them. Slots are now assigned by what actually gets drawn, so a name is never written in white on a pale field and an accent never disappears into its own background

Round two — the design

Two testers, three rigs each, blind trios on identical deep niche packs. Both testers have now ranked — so the engines below are revealed. One was a flagship released mid-round and added to the grid within hours of launch; it did not go the way launch-day headlines would suggest.

RigTesterNiche seedEngineState, 24 July
russet-vale ↗Chrismechanical-pencil-collectorKimi K3Delivered 5/5 — Chris’s 1st
violet-thicket ↗Chrismechanical-pencil-collectorFable 5 interview · Opus 4.8 buildDelivered 5/5 — Chris’s 2nd
ember-isle ↗Keithlocal-garageKimi K3Delivered 6/6 (finished unattended by the repaired heartbeat) — Keith’s 2nd
cobalt-heath ↗Keithlocal-garageFable 5 interview · Opus 4.8 buildDelivered 5/5 — Keith’s 1st
coral-moor ↗Keithlocal-garageClaude Opus 5Delivered 8/8 — Keith’s 3rd
ochre-heath ↗Chrismechanical-pencil-collectorClaude Opus 5Delivered 5/5 — Chris’s 3rd

The pencil-collector pack is a personal-collection niche (museum-first, deliberately no shop patterns) written to the same schema as the garage pack. This round the premise changes too: Chris plays a collector, not a business — a person, which Discovery has never designed for before.

Round two verdicts (24 July, both blind)

Keith’s ranking: Cobalt, Ember, Coral — the Fable-interviewed arm won outright against a complete six-page K3 site, and Keith is now “wondering if I should use one” for the real Baytree. Chris’s ranking: russet (K3), violet, ochre — “#1 wins but also needs serious output refinement to be considered battle ready.”
The launch-day upset: both testers independently ranked Claude Opus 5 last, blind. It joined the grid within hours of release, opened interviews fastest of any arm (4-second first questions), and then earned “not really a co-builder… more of a sales guy” and “all asking the same questions” for its interviews, and “the execution was all over the place… I’d go as far as to call it schizophrenic” for its build. It also spent more build tokens than K3 (355k and 376k against K3’s 344k) while doing it. Newest is not best-at-this-job.
And the thesis quietly confirmed itself: the interview Chris singled out as having “a touch more collaboration” — the one that made him write “focusing the model on becoming a ‘build partner’ would pay dividends” — was Fable 5, the strongest interviewer on the grid, though he didn’t know it. His own summary: “Opus feels generic, Fable feels the best, and Kimi is the most evocative of Fable.” Keith’s blind first pick was the Fable-interviewed site. The interviewer, not the page generator, keeps deciding these contests.
BuildPagesRecorded tokensNote
K3 · russet-vale5343,743Chris’s winner; nav/state inconsistencies flagged
Opus 4.8 · violet-thicket5157,399Leanest build of the round by far
Opus 5 · ochre-heath5355,388Most tokens per page, ranked last
K3 · ember-isle6490,139First fully unattended heartbeat build; the round’s biggest spender — six K3 pages plus the stall-and-resume
Opus 5 · coral-moor8376,446Biggest plan of the round; MOT-class factual slip

Opus 5 launch pricing was not yet published when this was written, so its rows stay token-only; every other estimate follows the round-one method. The round-three punch list distilled from both testers: a post-build revision loop (the clearest product gap — change requests currently die unrouted), cross-page consistency guardrails, build links opening in a new tab with progress echoed into the chat, multi-image upload that actually uses what it is given, an interviewer depth toggle, and Chris’s requested experiment — the strongest interviewer paired with the K3 builder, structure-guardrailed.

Keith’s first round-two results (engines deliberately unnamed)

Ember: a 22-minute interview that explained the MOT-vs-service distinction well enough for Keith to quote it back approvingly, a six-page plan, and his headline — “Best site so far. It understands the motor trade… That green is a classic car colour which AI came up with.”

Cobalt: a 16-minute interview and an 11-minute build, all five pages live. Keith checked mid-build, saw only the homepage, and reasonably asked where the rest was — they landed about a minute later. “These 2 are producing some good sites.”

Also banked from his notes: images upload one at a time; supplying a logo steers the whole palette; and his open question — how much should a knowledgeable owner volunteer versus let the interviewer dig?

And one honest find: the build heartbeat had never actually worked. Ember’s build froze at two of six pages the moment Keith closed his tab — which exposed that the “server-side heartbeat” cron marked done on 22 July had been a silent no-op since birth: its nginx lookup used a symlink-blind grep, so every rig was skipped every minute, and its rig list was hardcoded to the original ten besides. Every “cron-driven” build to date had really been riding an open browser tab. Properly fixed 24 July (symlink-following lookup; rigs now discovered from the filesystem). Ember’s build resumed on the next tick — and the round-one evidence sites were parked first, so the newly-awake heartbeat cannot rewrite history.

Next: the four-tester wave

Four testers — Keith, Chris, Hasmukh and Kenn — each running fresh, independent interviews. Worth doing only once the platform reflects today's lessons; here's the readiness state, honestly.

FixStatus today
Build uses the synthesis model, not the interview model (the one-liner)Shipped fleet-wide in 1.2.1 (22 Jul), one gold source
Reasoning-sized token budget & per-call timeoutPer-provider settings since 1.2.1; interview turns reasoning-aware since 1.2.3; extended to a second reasoning model in 1.2.5
Golden's endpoint/config landmineFixed & verified (settings)
Retry caps, spend ceiling, failure logging, real kill switch, build cancel1.2.1: 3-strike cap, session spend ceiling, kill switch honoured, cancel-build, failures.md logging
Build survives nobody watching (server-side runner)Cron heartbeat shipped 22 Jul — then found to be a silent no-op and actually fixed 24 Jul (the full story is in Round two)
Pipeline asserts the brief (5 pages promised → 5 delivered, or say so)1.2.1: must-have-pages assertion — an incomplete build can never report “delivered”
Save-time provider preflight (“test connection”)1.2.1: runs on settings save; a failing preflight refuses to arm auto-build
Site name propagated on delivery (the “Website Discovery” leak)Still open — the one survivor of this list
Done (22–23 July): exactly this happened — 1.2.1 through 1.2.5 shipped to every rig from one gold source, preflight-verified, and the wave is now running on identical code. The releases and the first results are in the Round two tab.

Test-design notes: one fresh rig per tester per arm; interviews independent (no shared answers this time — the wave tests the interview too); per-rig spend ceilings before anyone presses go; and the Opus arm finally fielded, so the poster fight actually happens.