Generative Assets · Industry demo 393 · Wave 47
A shearing contractor's landing page built around one idea: a shed drawn in plan, with the run counted out beneath it day by day. Every pixel is procedural — SVG, CSS and about 700 lines of vanilla JavaScript in a single file. No libraries, no build step, no images.
Wideboard Shearing Co. is a fictional shearing and crutching contractor working out of Northam into the central and eastern wheatbelt. Its customer is a grower with a number in their head — 2,000 head, three stands — and a question the phone can't answer quickly: how many days, and what does it cost?
The page has one job: turn "have you got a team free" into a booked run, with the days, the tally and the cost already worked out before anyone picks up the phone. Everything else on the page — the trust strip, the reviews, the map — exists to make the number credible.
The hard part of that job is a piece of arithmetic growers already do in their heads and contractors are often vague about: a stand does roughly 140 head a day on a full shear, so the run length is ceil(head ÷ (stands × tally)) and the last day is nearly always a short one. Most quotes hide that. This page puts it in the largest type on the screen.
Argued from the shed itself: galvanised iron, jarrah boards worn dark, greasy wool gold, and the blue of the shed's own steel. A warm grey ground well below cream in value, a condensed grotesque, and a gold/steel-blue accent pair with no terracotta anywhere — deliberately clear of the three palettes AI design defaults to.
Every ratio below was computed with WCAG arithmetic from the shipped hex and measured again in Pass 1. The rule the collection enforces: the accent is for lines and marks, and body text gets its own ink token.
| Fill | Hex | Ink ratio | Where |
|---|---|---|---|
| Board timber | #C9A978 | 7.44:1 | The board and the wool table |
| Fleece | #EFE9DA | 13.68:1 | Sheep on the board, wool on the table |
| Pen rail | #B4AC9C | 7.35:1 | Catching pens behind the board |
| Shed iron | #9FA8A8 | 6.82:1 | The press |
| Wool bale | #DCD2BA | 11.02:1 | Pressed bales beside the press |
| Shed shadow | #6E6455 | 2.85:1 — fails | Back wall and pen doorways; labelled in fleece at 4.79:1 |
Service-area map labels are body-ink-class text, so they are set in #221E19 with a paint-order: stroke halo in the ground colour wherever they cross a ring or a fill. The "lines only" tokens never label the map.
The typographic moment is the hero stamp: the day count set enormous — 5 DAYS — with the tally string running beneath it in mono at wide tracking, and the money on the third line. It is the only place on the page where a number is allowed to be that big, and it is deliberately the day count rather than the dollar figure: days are what a grower is actually booking.
An SVG plan of a shearing shed drawn across the page. The catching pens run along the back wall, one behind every stand; the board is the jarrah strip across the middle with a shearer and a sheep at each stand and a chute down to the counting-out pens; the wool table, the press and the pressed bales sit at the wool-room end; and the empty race runs out at the far end, which is where the run docket hangs.
Beneath the shed a day strip counts the run out — one column per day, each filled in wool gold to that day's tally, with the last column part-filled to the honest remainder. Change the stands and the board redraws and the strip visibly shortens. Change the head count and the strip grows.
The whole scene is one <svg> with seven groups — shed, pens, board, wool room, stands, day strip, labels — assembled synchronously in a single draw function. The entrance choreography is not a class toggle or a staggered DOM insertion; it is a progress value advanced inside the animation loop that owns the scene, because a group inserted after the loop starts can receive no paint invalidation in headless Chrome while every DOM assert stays green.
The geometry is solved, not guessed. The frame width is 2·pad + woolRoom + stands×standWidth + race, and the race is widened from the measured width of the docket so the docket always lands over empty floor rather than over a stand or the wool table. The binding contract is a rectangle-intersection assert — the docket's box never intersects the pens, the board, the wool room, the stands or the day strip — checked at 375, 1000 and 1200. Below 641px the docket drops out of the scene and docks directly beneath the artwork, and the race narrows to its minimum so the shed itself gets bigger on a phone.
Motion is deliberately small: the comb travels across each sheep on a staggered cycle, the fleece on the wool table breathes, and the final column of the strip pulses. Nothing ever drops below 0.55 opacity, so the signature is visibly alive at any capture instant rather than being phase-tuned to one. The frame delta is clamped at zero as well as capped, and the loop stops when the tab is hidden.
Rates are held as integer cents and divided by 100 exactly once, at display. This is not fastidiousness: 400 * 4.6 evaluates to 1839.9999999999998 in IEEE doubles, and a naive toFixed(0) hides that until a later comparison fails. The price function asserts Number.isInteger(cents) before it returns, and the verification harness re-checks it on every driven scenario.
| Quantity | Rule |
|---|---|
| Rate | 460c / 140c / 515c a head (full shear / crutching / shear with classer) |
| Tally | 140 / 420 / 140 head a stand a day |
| Days | ceil(head ÷ (stands × tally)) |
| Last day | head − (days − 1) × stands × tally |
| Keep | $180 × days, in the 100–250 km zone only |
| Total | (head × rateCents + keepCents) ÷ 100 |
| Scenario | Days | Last day | Total |
|---|---|---|---|
| Rest — full shear, 2,000 head, 3 stands, within 100 km | 5 | 320 | $9,200 |
| The same job on 4 stands | 4 | 320 | $9,200 |
| The same job, 100–250 km, 3 stands | 5 | 320 | $10,100 |
| Crutching, 4,000 head, 4 stands, near | 3 | 640 | $5,600 |
| Shear with classer, 4,000 head, 4 stands, near | 8 | 80 | $20,600 |
| 400 head, full shear, 2 stands — the minimum engagement | 2 | 120 | $1,840 |
| Cheapest reachable output — 400 head crutching, near | 1 | 400 | $560 |
| Dearest reachable — 12,000 with a classer, 2 stands, 100–250 km | 43 | 240 | $69,540 |
The estimator's cheapest output — $560 — is exactly the "from $560" floor printed in the services grid, so the page never argues with itself. Every figure above was re-derived by an oracle written separately from the page's own code: 1,156 checks over the full 3 × 30 × 4 × 3 grid, with zero non-integer cells and zero disagreements with the pinned spec.
This demonstration deliberately ships no LocalBusiness, Review or AggregateRating structured data. The business is fictional, and fictional structured data in a real search index is dishonest markup. The live page emits only WebPage, CreativeWork, WebSite, BreadcrumbList and ListItem, each naming the page as a demonstration.
What we would ship for a real shearing contractor
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "LocalBusiness",
"@id": "https://wideboardshearing.com.au/#business",
"name": "Wideboard Shearing Co.",
"description": "Shearing, crutching and lamb marking contractor based at Northam, working the central and eastern wheatbelt of Western Australia.",
"url": "https://wideboardshearing.com.au/",
"telephone": "+61 8 9XXX XXXX",
"email": "office@wideboardshearing.com.au",
"image": "https://wideboardshearing.com.au/img/board-northam.jpg",
"logo": "https://wideboardshearing.com.au/img/logo.png",
"priceRange": "$$",
"currenciesAccepted": "AUD",
"paymentAccepted": "Bank transfer, EFT",
"foundingDate": "2004",
"address": {
"@type": "PostalAddress",
"streetAddress": "Lot 00 Example Road",
"addressLocality": "Northam",
"addressRegion": "WA",
"postalCode": "6401",
"addressCountry": "AU"
},
"geo": { "@type": "GeoCoordinates", "latitude": -31.653, "longitude": 116.667 },
"areaServed": [
{ "@type": "City", "name": "Northam" },
{ "@type": "City", "name": "York" },
{ "@type": "City", "name": "Cunderdin" },
{ "@type": "City", "name": "Wongan Hills" },
{ "@type": "City", "name": "Corrigin" },
{ "@type": "City", "name": "Merredin" },
{ "@type": "City", "name": "Kojonup" }
],
"openingHoursSpecification": [{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],
"opens": "06:00", "closes": "19:00"
}],
"hasOfferCatalog": {
"@type": "OfferCatalog",
"name": "Shearing services",
"itemListElement": [
{ "@type": "Offer",
"itemOffered": { "@type": "Service", "name": "Full shear" },
"priceSpecification": {
"@type": "UnitPriceSpecification",
"price": "4.60", "priceCurrency": "AUD",
"unitText": "per head", "valueAddedTaxIncluded": true } },
{ "@type": "Offer",
"itemOffered": { "@type": "Service", "name": "Crutching" },
"priceSpecification": {
"@type": "UnitPriceSpecification",
"price": "1.40", "priceCurrency": "AUD",
"unitText": "per head", "valueAddedTaxIncluded": true } },
{ "@type": "Offer",
"itemOffered": { "@type": "Service", "name": "Shear with an AWEX-registered classer" },
"priceSpecification": {
"@type": "UnitPriceSpecification",
"price": "5.15", "priceCurrency": "AUD",
"unitText": "per head", "valueAddedTaxIncluded": true } }
]
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.9", "reviewCount": "38",
"bestRating": "5", "worstRating": "1"
},
"review": [{
"@type": "Review",
"author": { "@type": "Person", "name": "R. Trethewey" },
"datePublished": "2026-10-14",
"reviewRating": { "@type": "Rating", "ratingValue": "5", "bestRating": "5" },
"reviewBody": "Two thousand through a three-stand shed in five days, exactly as booked. Tally sheet in my inbox every evening."
}]
}
</script>
Alongside it: a verified Google Business Profile with the Northam service area and the two travel rings, the six town names in real page copy rather than a footer keyword list, and a review feed the client actually owns. The ratings and the review above are illustrative — on a live build they would be generated from the client's real review data, never authored.
Each pass drove the interactive elements and asserted the output — not just loaded the page. Empty submit and filled submit, every chip and stepper, the signature driven to known values, a rapid-fire drive with no settle between clicks, both halves of the partial unwind, and native-resolution screenshots at 375, 1000 and 1200.
Pass 1 — Craft
Pass 2 — Depth
Pass 3 — Hardening
Final harness: 387 assertions green against an independently reimplemented oracle, plus 1,156 spec-level checks over the full 3 × 30 × 4 × 3 price grid.