Coldbank Refrigeration

Generative Assets · Industry Demos · how it was made

How the Coldbank Refrigeration demo was built

Coldbank Refrigeration is a fictional commercial refrigeration contractor working out of a van yard in Osborne Park — cool rooms, freezer rooms, display cabinets, ice machines and condensing packs, serviced on a schedule and rescued at 2am when the seals let go. The page exists for the Northbridge restaurant whose cool room hit 9°C on a Saturday, the Balcatta food manufacturer with six cabinets on a service schedule, and the Scarborough bar whose ice machine died in February. Its single job is a callout booked with the job, the equipment, the time of day and the hours already priced — labour to the whole dollar, parts declared at cost.

The Cold Room Callout

The signature is a drawn SVG cool-room interior at 2am: an insulated door with its gasket seal line, a controller reading the room against its set point, an alarm lamp breathing amber over the door, an evaporator with turning fans and frost banded along the coil, a stainless rack of stock, the hours stacked as labour blocks along the floor and a technician at work. Four controls redraw the room and reprice the job from the pinned anchors:

Pinned anchors (GST inclusive, labour only, parts declared)

WhenCallout (first hour on site included)Each extra hourResponse line
Business hours, Mon–Fri 7am–4pm$180$130on site the same day, most days
After hours, weeknights$290$190a technician on the road within 90 minutes
Weekend & public holiday$360$240weekend crew on call, same 90 minutes
EquipmentScheduled service, flat per visitSet point drawnGasket chip
Walk-in cool room$2404.0°Cavailable
Freezer room$290−18.0°Cavailable
Display cabinet$1903.0°Cavailable
Ice machine (descale and sanitise included)$2202.0°Cavailable
Condensing pack$2604.0°Cdisabled — "no door on a condensing pack"

The arithmetic. A breakdown callout and a gasket, door & seal repair are priced identically, because a gasket job is a callout: the callout covers the first hour on site, so the extra-hour rate multiplies hours − 1. The second technician at $110 an hour multiplies all hours on site including the first — that asymmetry is the one thing most operators get wrong on a quote, so the page states it on the card, in the ledger and in the screen-reader mirror. A scheduled service is a flat visit price set by the equipment with no clock at all. A new install prints no number: the site visit is free and the job is quoted, so the badge carries the pinned bare-quote string rather than a "$0 + …" form. Equipment never moves a callout — the ledger says so in its own line: "a callout is a callout, whatever it's attached to". Every rate is a whole dollar and every stepper is whole units, so no total ever needs rounding; there is no empty state, because a job, an equipment and a time of day are always selected and the hours floor is 1.

Two declarations print wherever the total prints, both price-less by design: parts are charged at cost with the supplier invoice attached — no markup, and we ring you before we fit anything over $200; and refrigerant handling is done under an Arctick licence and logged. They appear on the plate (short forms at ≤640 px), in the ledger and in the mirror (full forms at every width). The Australian Refrigerant Handling Licence scheme is real and stays real on this page — only the licence number is a placeholder pattern.

Forces, locks and restore memories

TriggerWhat is forced or disabledReason shown on the pageUnlock behaviour
Job → scheduled serviceWhen forced to business hours; after-hours and weekend chips disabledscheduled services run in business hoursprevious When remembered and restored
Job → scheduled serviceHours stepper disabled (both buttons)a scheduled service is a flat visit pricehours remembered and restored
Job → scheduled serviceSecond technician disabledone tech runs a scheduled serviceremembered and restored
Job → new installTemperature logging disabledlogging is part of the install commissioningremembered and restored
Job → new installSecond technician disabled; hours and When stay selectable but pricelessthe quoting visit is free — one tech, no chargeremembered and restored
Equipment → condensing pack while gasket is chosenJob forced to breakdown callout; gasket chip disabledno door on a condensing packgasket remembered; any door-bearing equipment restores it

Restore memories are cleared by an explicit user change to the remembered control: chipping a job while the gasket restore is pending drops it, and an explicit When choice made while the chip is free means a later scheduled-service round trip comes back to that choice, not the older one. Because every locked control is genuinely disabled in the DOM while it is forced, the only way to change a remembered value is to change it while it is free — which is exactly the invalidation rule.

Worked examples measured from the running page

ScenarioArithmeticTotalState
Rest — breakdown, walk-in cool room, after hours, 2 h290 + 1 × 190$480controller 8.3°C falling to 4.0; "a technician on the road within 90 minutes"
Cheapest output (= services grid floor)flat 180$180business hours, 1 h — extra-hours line reads "included"
Breakdown, freezer room, weekend, 4 h, second tech360 + 3 × 240 + 4 × 110$1,520tech line multiplies 4 hours, not 3
Scheduled service, ice machine · + loggingflat 220 · 220 + 90$220 · $310When forced, hours and second tech disabled
Scheduled service — cabinet / cool room / freezer / packflat$190 · $240 · $290 · $260equipment sets the visit price
Gasket, display cabinet, business hours, 3 h180 + 2 × 130$440gasket line declared "at cost, invoice attached"
Gasket, cool room, after hours, 2 h, second tech290 + 190 + 2 × 110$700priced exactly like a breakdown
Breakdown, condensing pack, after hours, 6 h, logging290 + 5 × 190 + 90$1,330gasket chip disabled with its reason
Breakdown, cool room, weekend, 1 hflat 360$360no extra hours
Breakdown, business hours, 3 h, second tech, logging180 + 2 × 130 + 3 × 110 + 90$860all three add-ons live
New install, any equipmentno numberquotedbadge prints "install — quoted after a free site visit"; ledger prints the free site visit
Force drive: weekend 3 h → scheduled → breakdown840 → 240 → 840$840 → $240 → $840weekend and 3 hours both restored
Memory invalidation: weekend 2 h → scheduled → breakdown → chip business hours → scheduled → breakdown180 + 130$310When stays business hours
Gasket force: gasket cabinet 2 h → condensing pack → cool room310 → 310 → 310$310job forced to breakdown, then gasket restored
Rapid-fire: business hours 2 h, then pack → ice → cabinet → freezer in one evaluate180 + 130$310equipment doesn't move a callout; one fan loop after settle

Every pinned figure, both threshold drives, the two force/restore sequences, both rapid-fire bursts, all 18 first-hour cells (three rates × six hours), all six second-technician cells and the five install states were checked against an oracle reimplemented from the anchors in the verification harness — not from the page's own code. 373 assertions green in the final run across the site and this guide. The rest-state figure measured from the running page is $480; the grid floor is $180.

Palette — argued from a cool room at 2am

Near-black ground, ice-white ink, evaporator cyan on the coil and every mark, and an alarm amber that appears only where the emergency lives. The amber is rationed to exactly five surfaces: the emergency strip, the emergency call buttons, the alarm lamp in the scene, the after-hours and weekend chips when selected, and the out-of-hours ledger and badge lines. It is never a heading colour and never a general rule. Ratios below were computed with WCAG arithmetic from the shipped tokens during Pass 1 — role, hex and ratio read from the same script row.

Cool room dark#0F1518 page ground; cards #182024, soft cards #131A1E, footer #0B1114
Ice#E7EFF1 body ink · 15.79:1 on the ground, 14.17:1 on cards, 13.38:1 on the trust strip; map labels 10.33:1 over the water with a ground-coloured halo
Muted ice#9DAFB6 secondary copy · 8.10:1 on the ground, 7.27:1 on cards — minted here, because the accents are for marks
Coil cyan#4FBFCC CTA fill with ground-dark labels 8.47:1 (hover #66D0DC 10.19:1), rules, chip outlines, frost, the temperature trace · as text 8.47:1 on the ground, 7.60:1 on cards — safe at any size, no minted pair needed
Alarm amber#F2B33C emergency fill with ground-dark labels 9.90:1 (hover #F7C463 11.42:1) · as text 9.90:1 on the ground, 8.88:1 on cards, 8.71:1 on the selected out-of-hours chip. Rationed.
Stainless#63757E shelving, door frame, hairlines · 3.84:1 on the ground — lines and fills only, never text, never a map label
Plate stainless#B9C4C9 the riveted service plate; engraved ink #0F1518 10.35:1
Plate muted#3E4E55 the plate's spec line and footnotes · 4.87:1 on the plate
Plate accent#17565F the plate's eyebrow · 4.66:1 on the plate
Plate alarm ink#6A3D00 the out-of-hours response line on the plate · 5.18:1 — the amber's readable relative on stainless
Fault rose#F2AFA0 form validation and the high-side gauge · 8.98:1 on cards, 8.85:1 on the invalid field ground
Disabled ink#8A9BA2 locked chips and toggles · 6.11:1 — a disabled control still has to be readable to explain itself

Every spec figure held exactly on the shipped grounds and no token moved. Six tokens were minted beyond the spec and measured before use: the muted ice body ink, the fault rose, the disabled ink, and the plate's three inks (the spec pinned the plate as a scene object, not a palette).

Type

$480 · Breakdown
Chivo 800 — an engineered grotesk with the weight of a spec plate. Headings in caps, the display line over the scene, the plate price, stepper values, the ledger total, the controller reading.
Serviced on a schedule and rescued at 2am when the seals let go.
Manrope 400–800 — the workhorse: 17 px body (16 px minimum on mobile), labels, chips, ledger, form. Eyebrows in 12 px caps at .19 em tracking.

The display moment is the rest-state total set huge beside the door — $480 · BREAKDOWN · AFTER HOURS · 2 HOURS — rebuilt from state on every change, so the figure over the scene is always the live one, with the separators dimmed to stainless so the tokens read as a spec string rather than a sentence. The plate's hour token carries a non-breaking space so a narrow plate can never orphan its unit.

Techniques

Conversion decisions

Local SEO we'd implement for the real business

The live page carries only WebPage, WebSite and BreadcrumbList structured data naming it a demonstration — a fictional contractor must not mark itself up as a real one, and there are no fictional reviews or ratings in the index. For the real client we would ship the block below. schema.org has no refrigeration-contractor type, so the top-level type is HVACBusiness — the nearest true organisation type for commercial refrigeration service — with the specialty named through additionalType, knowsAbout and a hasOfferCatalog of priced services. Reviews would be pulled from the Google Business Profile feed and marked up only with the reviewer's consent.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "HVACBusiness",
  "additionalType": "https://www.wikidata.org/wiki/Q1058314",
  "name": "Coldbank Refrigeration",
  "description": "Commercial refrigeration across Perth from Osborne Park — cool rooms, freezer rooms, display cabinets, ice machines and condensing packs, 24/7 breakdown.",
  "url": "https://www.example-coldbank.com.au/",
  "telephone": "+61 8 9000 0375",
  "image": "https://www.example-coldbank.com.au/van-yard.jpg",
  "priceRange": "$$",
  "address": {
    "@type": "PostalAddress",
    "addressLocality": "Osborne Park",
    "addressRegion": "WA",
    "postalCode": "6017",
    "addressCountry": "AU"
  },
  "geo": { "@type": "GeoCoordinates", "latitude": -31.90, "longitude": 115.81 },
  "areaServed": ["Perth", "Northbridge", "Balcatta", "Malaga", "Scarborough", "Cannington", "Fremantle", "Joondalup"],
  "openingHoursSpecification": [
    { "@type": "OpeningHoursSpecification", "dayOfWeek": ["Monday","Tuesday","Wednesday","Thursday","Friday"], "opens": "07:00", "closes": "16:00" },
    { "@type": "OpeningHoursSpecification", "dayOfWeek": ["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"], "opens": "00:00", "closes": "23:59", "description": "24/7 breakdown line" }
  ],
  "knowsAbout": ["commercial refrigeration", "cool room repair", "freezer room service", "display cabinet service", "ice machine descale", "condensing pack installation", "Arctick refrigerant handling"],
  "hasOfferCatalog": {
    "@type": "OfferCatalog",
    "name": "Refrigeration services",
    "itemListElement": [
      { "@type": "Offer", "itemOffered": { "@type": "Service", "name": "Breakdown callout — business hours" }, "priceSpecification": { "@type": "PriceSpecification", "price": "180", "priceCurrency": "AUD", "description": "callout includes the first hour on site; extra hours $130" } },
      { "@type": "Offer", "itemOffered": { "@type": "Service", "name": "Breakdown callout — after hours" }, "priceSpecification": { "@type": "PriceSpecification", "price": "290", "priceCurrency": "AUD", "description": "weeknights; extra hours $190" } },
      { "@type": "Offer", "itemOffered": { "@type": "Service", "name": "Breakdown callout — weekend and public holiday" }, "priceSpecification": { "@type": "PriceSpecification", "price": "360", "priceCurrency": "AUD", "description": "extra hours $240" } },
      { "@type": "Offer", "itemOffered": { "@type": "Service", "name": "Scheduled service and gas check" }, "priceSpecification": { "@type": "PriceSpecification", "price": "190", "priceCurrency": "AUD", "description": "from, display cabinet; flat per visit by equipment" } },
      { "@type": "Offer", "itemOffered": { "@type": "Service", "name": "Gasket, door and seal repair" }, "priceSpecification": { "@type": "PriceSpecification", "price": "180", "priceCurrency": "AUD", "description": "from, plus the gasket at cost" } }
    ]
  },
  "aggregateRating": { "@type": "AggregateRating", "ratingValue": "4.9", "reviewCount": "186" },
  "review": [
    {
      "@type": "Review",
      "author": { "@type": "Person", "name": "Real customer, with consent" },
      "datePublished": "2026-06-14",
      "reviewRating": { "@type": "Rating", "ratingValue": "5" },
      "reviewBody": "Pulled from the live Google Business Profile feed — never hand-written."
    }
  ]
}
</script>

Alongside the schema: a Google Business Profile pinned to the Osborne Park yard with the after-hours number wired as the primary call action, "commercial refrigeration Perth" / "cool room repair Perth" / "emergency refrigeration Perth" as the core phrases with the suburbs above as secondary, an FAQ block mirroring the on-page questions, NAP consistency across the hospitality and food-manufacturing directories, and a reviews feed that updates without anyone touching the page.

What changes for the real client

Iteration log

One semantic the spec left to composition was resolved here: the alarm lamp is lit whenever the job is a breakdown, at any time of day, and dark for a scheduled service, a gasket repair and an install. The time-of-day chip controls the room's ambient light, not the lamp — so an after-hours gasket job is lit by the technician's torch and an after-hours install reads as a drawing, which keeps the amber ration honest instead of spending it on a second lamp.