Generative Assets · Industry demo guide
Redgate Plant Hire is a fictional Kenwick dry-hire yard — excavators, skid steers, a mini loader with a trencher pack — built as a conversion demonstration: one landing page whose single job is a booking enquiry with the machine and dates already chosen. The audience is an owner-builder or landscaper on a phone; the design's audience is the yard owner who should think "that could be my site". View the site.
Light industrial, steel and machine orange. The ground is yard concrete, the ink is gunmetal, and the orange is spent exactly where a hire yard spends it — on the machines and on the things you're meant to touch. Drafting blue does the annotating, the way a spec sheet would.
The ink/line split rule applies: orange and blue draw lines and marks; body copy always sits in gunmetal (13.2:1 on the concrete), and the blue used for link text is the darker #3A576F variant at 6.0:1.
Anton carries the display: it's the block-caps face of rate boards and machine decals, so the day rate gets set huge in it — $290 / DAY — exactly like the sign you'd read from the ute. Work Sans does the working text: legible, plain-spoken, comfortable at 16.5px body size with tabular numerals wherever money lines up.
Three machine chips select a procedurally drawn SVG side elevation — every machine is paths and primitives, no raster anywhere — annotated with drafting-blue dimension callouts (dig depth, overall width, operating weight) that draw themselves in like a pen on film: each line's getTotalLength() seeds a dash offset animated to zero, with labels and arrowheads fading in after their line lands. The draw is dual-speed — full entrance choreography on first paint, ~500 ms snappy on every subsequent machine swap — and each render captures a token that the animation frames check, bumped in the chip handler before the state swap, so a rapid string of chip taps can never leave a stale draw writing onto the wrong machine.
Beside it, the ledger prices the hire live: a 1–7 day stepper with the 3+ day tier applying from exactly day three, a $35-per-charged-day damage waiver toggled on by default (with the honest alternative — your insurer's certificate of currency — on the card), and delivery chips at the flat $95-each-way metro rate. A week is 7 days' possession charged as 5, stated on the board. The $500 bond is itemised as its own $0-impact line because it's a pre-authorisation, not a charge; fuel carries an at-cost declaration wherever the total appears; and attachments print no number at all — they're quoted with the machine, and pretending otherwise would be the dishonest choice. The excavator's boom cycles a slow dig arc via rAF (paused when the tab hides, absent under reduced motion, where the dims render pre-drawn and settled).
The chosen machine, duration and delivery pre-fill the booking form, so the demo interaction becomes a warmer enquiry — and the form's own machine and days fields drive the ledger right back.
All dry hire, GST inclusive, argued from the Perth market. The estimator's cheapest output for each machine equals the services grid's "from" floor.
| Machine | Day rate | 3+ days (from day 3) | Week (7 days, 5 charged) |
|---|---|---|---|
| 1.7 t excavator | $290 | $260 | $1,300 |
| Skid steer | $270 | $240 | $1,200 |
| Mini loader + trencher pack | $230 | $205 | $1,025 |
| Line | Treatment |
|---|---|
| Damage waiver | $35 per charged day (a week = 5 × $35), or insurer's certificate |
| Metro delivery | $95 each way, flat — both ways $190 |
| Bond | $500 pre-authorisation — excluded from the total, shown as a $0 line |
| Fuel | Returned full, or refuelled at cost — declaration beside every total |
| Augers & breakers | No number — quoted with the machine (availability varies by week) |
Worked rest state, measured from the running page: excavator × 2 days ($580) + waiver 2 × $35 ($70) + delivery both ways ($190) = $840 + fuel at cost, bond shown and excluded. The tier boundary was driven on both sides: 2 days holds the day rate ($580 hire), 3 days books at $260 ($780 hire, $1,075 total with waiver and delivery); the week lands at $1,665; waiver off at the rest scenario reads $770.
The demo page ships only WebPage schema naming it a demonstration — fictional structured data in a real index would be dishonest markup. For a real yard we'd ship LocalBusiness markup like this, populated from their actual details and live reviews feed:
{
"@context": "https://schema.org",
"@type": "LocalBusiness",
"name": "Redgate Plant Hire",
"description": "Dry-hire excavators, skid steers and attachments —
Kenwick yard, Perth metro delivery.",
"telephone": "+61-8-XXXX-XXXX",
"url": "https://example-real-domain.com.au",
"address": {
"@type": "PostalAddress",
"streetAddress": "(real street address)",
"addressLocality": "Kenwick",
"addressRegion": "WA",
"postalCode": "6107",
"addressCountry": "AU"
},
"geo": { "@type": "GeoCoordinates", "latitude": -32.03, "longitude": 115.97 },
"openingHoursSpecification": [
{ "@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday","Tuesday","Wednesday","Thursday","Friday"],
"opens": "06:30", "closes": "16:30" },
{ "@type": "OpeningHoursSpecification",
"dayOfWeek": "Saturday", "opens": "07:00", "closes": "12:00" }
],
"priceRange": "$230–$290 per day",
"areaServed": { "@type": "City", "name": "Perth" },
"makesOffer": [
{ "@type": "Offer",
"itemOffered": { "@type": "Service", "name": "1.7 t excavator dry hire" },
"priceSpecification": { "@type": "UnitPriceSpecification",
"price": 290, "priceCurrency": "AUD", "unitText": "day" } }
],
"aggregateRating": { "@type": "AggregateRating",
"ratingValue": "4.9", "reviewCount": "87" }
}Why the parent type: schema.org has no equipment-rental subtype of LocalBusiness — the Store branch's closest members don't describe dry hire — so the honest, correct pick is the top-level LocalBusiness itself rather than shoehorning a wrong subtype. Rating and offer values above are placeholders; on the real build they come from the client's review platform and rate card.
Their fleet photos can replace or sit beside the procedural elevations (though the drawings make a genuinely good spec-sheet aesthetic); the availability strip stops being demo copy and reads from their hire-management system — Point of Rental, MCS-rm, Baseplan or HireHop all expose the yard sheet — and the booking form posts into the same system's reservation API with an SMS confirmation. Reviews feed from Google Business Profile. Rates become their rate card, delivery pricing gets their float zones, and Xero picks up the invoicing. The ledger logic itself ships as-is: it's their pricing, just honest and on the page.
backdrop-filter layer black — computed styles were correct, so this was the compositor, not the CSS. Dropped the blur for a near-opaque concrete background; the header no longer depends on an effect the capture path can't composite.text-anchor="end" with rotate(-90) runs the glyph run downward, so "2.4 M DIG DEPTH" clipped to "EPTH". Re-anchored to start so vertical dims read upward, drafting-style.preserveAspectRatio="xMidYMin") so the annotated excavator sits inside the capture, not below it. One ornament removed (Chanel rule): the soil hatch ticks along the ground line — noise at thumbnail scale.