Hardline Workwear

Generative Assets · Industry Demos · how it was made

How the Hardline Workwear & Print demo was built

Hardline Workwear & Print is a fictional Malaga print shop — hi-vis polos, taped long-sleeve shirts, drill shirts and hoodies screen-printed or embroidered with a crew's logo, from ten garments to two hundred. The page exists for one reader: the trade owner who needs thirty polos for the crew and wants the garment, quantity, decoration, positions and extras priced before they send a logo file. Its single job is a quote request with the run already priced to the dollar, setup included.

The Uniform Quoter

The signature element is a drawn SVG garment on a hanger against the print-shop wall: a rail with two brackets, a leaning screen frame with the crew's mark burnt into the mesh, a squeegee resting against it, and the chosen garment hanging centre-left with a ghosted rail of garments behind it. Every control redraws the scene honestly and reprices the run from the pinned anchors:

There are no locks, disables or forced chips in this signature — every control is live at every combination, every toggle is a flat or per-garment addition, and neither stepper has an empty state (quantity floors at the 10-garment minimum, positions at 1), so no restore memory exists to invalidate.

Pinned anchors (GST inclusive — blank garment supplied, decoration and setup included, metro delivery included)

LineAnchorMultiplies
Garmentspolo $28 · taped long-sleeve $42 · drill shirt $48 · hoodie $45the quantity (10–200, step 10)
Decoration, 10–901-colour $6 · 2-colour $9 · embroidery $10 a garment a positionquantity × positions
Decoration, 100–2001-colour $5 · 2-colour $8 · embroidery $9quantity × positions — the boundary is exactly reachable (90 → 100)
Setup (one-off)print $60 a colour a position · embroidery digitising $80 a positionpositions only — outside every per-garment line; $0 on a re-order
Individual names+$6 a garmentthe quantity — always embroidered, even on printed runs
5-day rush+$150 flatnothing — swaps badge line 2
Artwork redraw, odd sizes, a third colourno number"quoted from your artwork" — a designed price-less ledger line, the FAQ, the mirror; never on the badge

Worked examples measured from the running page

ScenarioArithmeticTotalBadge line 2 · note
Rest — polo, 50, 2-colour, 2 positions, all off1,400 + 900 + 240$2,540about 10 days · note absent
Polo, 10, 1-colour, 1 position (grid floor)280 + 60 + 60$400about 10 days
Drill shirt, 100, embroidery, 1 position, names on4,800 + 900 + 80 + 600$6,380note "at 100 you’re on the 100+ rate — $9 a position"
Same at 904,320 + 900 + 80 + 540$5,840note absent — decoration $900 both sides of the boundary
Hoodie, 20, 2-colour, 3 positions, rush900 + 540 + 360 + 150$1,950"ready in 5 business days"
Long-sleeve, 200, 1-colour, 2 positions, re-order8,400 + 2,000 + 0$10,400"$0 — setup waived — we keep your screens and stitch files" · note "$5 a position"
Polo, 30, embroidery, 2 positions, re-order840 + 600 + 0$1,440setup waived
Rapid-fire from rest: decoration 1-colour → embroidery → 2-colour → 1-colour in one evaluate1,400 + 600 + 120$2,120one loop after the burst
Cheapest outputs (10, 1-colour, 1 position)polo 280 + 120 · long-sleeve 420 + 120 · drill 480 + 120 · hoodie 450 + 120$400 · $540 · $600 · $570= the services grid floors

Every worked figure, the four grid floors, the 90/100 boundary pair and forty random control vectors were cross-checked against an oracle re-implemented from the anchors inside the verification harness — never by importing the page's own code. Every rate is a whole dollar, the quantity grid is whole tens and there is no percentage anywhere, so no total ever needs rounding; the harness asserts every total is an integer.

Palette — concrete floor, navy thread, a stripe of hi-vis orange

Pale concrete ground, deep navy for body ink and CTAs, hi-vis orange held to lines and marks (rules, chip outlines, the position ticks, the tape on the drawn shirt, the tag's stitched edge), and the hi-vis yellow living only in the drawn garments. Contrast ratios below were computed with WCAG arithmetic from the shipped tokens during Pass 1 (role, hex and ratio from the same script row).

Concrete#EDEFF0 page ground; cards #FFFFFF, soft cards #F5F6F8, the wall gradient #F4F5F7#E3E6EA
Navy#1A2238 body ink and CTA fill · 13.69:1 on concrete, 15.79:1 on white; white labels on it 15.79:1 (hover #111829 17.70:1); 12.17:1 on the navy tint
Hi-vis orange#F26B1D rules, chip outlines, ticks, tape, the stitched tag edge · 2.64:1 on concrete — lines and marks only, never text (white on it would be 3.05:1)
Orange-ink#A84408 orange-coloured small copy (h1 emphasis, prices, notes) · 5.21:1 on concrete, 6.01:1 on white, 5.56:1 on soft cards, 5.03:1 on the orange tint
Hi-vis yellow#E8E22E the drawn garment only · 1.19:1 on concrete — scene fill, never text or chrome; the navy mark on it reads at 11.54:1
Slate#4A5568 secondary copy (eyebrows, hints, ledger "not selected", tag line 2) · 6.52:1 on concrete, 7.53:1 on white, 5.80:1 on the navy tint
Tag pale#D5DAE5 trust-strip copy on navy · 11.27:1; footer copy #C9CEDA 10.02:1, footer quiet #9AA3B5 6.23:1
Map water#D6DBE1 the ocean and river · navy labels on it 11.34:1, on the white land 15.79:1 (every map label is navy with a white halo)

Pass 1 measurement kept every spec figure within 0.1 of its computed hypothesis (13.7 / 15.8 / 17.7 / 2.6 / 3.1 / 5.2 / 6.0 all held). The one colour decision the measurement forced: orange-ink on the map water measured 4.31:1, so the map's only orange-ink label ("Hardline workshop") sits on the white land with a white halo, never over water, and the tag's secondary line uses slate rather than orange-ink on white — 7.53:1 against 6.01:1 — so the two-line badge stays quiet under the price.

Type

50 Polos · $2,540
Archivo 700/800 — a squared-off, stencil-adjacent grotesk that reads like a print-shop job ticket. Headings, the display line above the scene, the tag price, stepper values, the wide-tracked uppercase eyebrows (.16 em).
Hi-vis polos, taped long-sleeves, drill shirts and hoodies with your logo — priced to the dollar before you send a thing.
Inter 400–700 — the workhorse: 17 px body (16.5 px on phones), labels, ledger, form, map labels. Nothing below 11.5 px anywhere, and that only on the map.

The display moment is the rest-state line set above the scene — "$2,540 · 50 POLOS · 2-COLOUR · 2 POSITIONS" — rebuilt from state on every change so the figure is always the live total; the price leads in orange-ink, the middle dots travel with the token that follows them so a wrap never strands a dot at a line end.

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 shop must not mark itself up as a real one. For the real client we would ship the block below. schema.org has no print-shop or uniform-supplier subtype, and Store would overclaim a retail floor the workshop doesn't run, so the top-level type is the plain organisation type LocalBusiness with the services named through hasOfferCatalog and knowsAbout. Real reviews would be pulled from Google Business Profile and marked up only with the reviewer's consent.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "LocalBusiness",
  "name": "Hardline Workwear & Print",
  "description": "Branded hi-vis and workwear for Perth crews — screen printing and embroidery in Malaga, from ten garments.",
  "url": "https://www.example-hardline.com.au/",
  "telephone": "+61 8 9000 0367",
  "image": "https://www.example-hardline.com.au/workshop.jpg",
  "priceRange": "$$",
  "address": {
    "@type": "PostalAddress",
    "addressLocality": "Malaga",
    "addressRegion": "WA",
    "postalCode": "6090",
    "addressCountry": "AU"
  },
  "geo": { "@type": "GeoCoordinates", "latitude": -31.86, "longitude": 115.90 },
  "areaServed": ["Wangara", "Balcatta", "Osborne Park", "Perth", "Welshpool", "Canning Vale", "Bibra Lake", "Midland"],
  "openingHoursSpecification": [
    { "@type": "OpeningHoursSpecification", "dayOfWeek": ["Monday","Tuesday","Wednesday","Thursday","Friday"], "opens": "07:00", "closes": "16:30" }
  ],
  "knowsAbout": ["screen printing", "embroidery", "hi-vis workwear", "AS/NZS 4602.1", "uniform branding", "logo digitising"],
  "hasOfferCatalog": {
    "@type": "OfferCatalog",
    "name": "Branded workwear",
    "itemListElement": [
      { "@type": "Offer", "itemOffered": { "@type": "Service", "name": "Printed hi-vis polos" }, "priceSpecification": { "@type": "PriceSpecification", "price": "400", "priceCurrency": "AUD", "description": "from, 10 garments, 1-colour, 1 position" } },
      { "@type": "Offer", "itemOffered": { "@type": "Service", "name": "Printed taped long-sleeve shirts" }, "priceSpecification": { "@type": "PriceSpecification", "price": "540", "priceCurrency": "AUD", "description": "from, 10 garments, 1-colour, 1 position" } },
      { "@type": "Offer", "itemOffered": { "@type": "Service", "name": "Embroidery" }, "priceSpecification": { "@type": "PriceSpecification", "price": "10", "priceCurrency": "AUD", "description": "a garment a position, digitising $80 a position" } }
    ]
  },
  "aggregateRating": { "@type": "AggregateRating", "ratingValue": "4.9", "reviewCount": "64" },
  "review": [
    {
      "@type": "Review",
      "author": { "@type": "Person", "name": "Real customer, with consent" },
      "datePublished": "2026-05-02",
      "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 Malaga unit, "workwear printing Perth" / "hi-vis embroidery Malaga" / "branded polos Perth" as the page's core phrases with the trade estates above as secondary, NAP consistency across the trade directories, and a reviews feed that updates without anyone touching the page.

What changes for the real client

Iteration log

Spec notes: the drawn-cap mapping is one ghost per garment to twelve (10 garments draw ten ghosts, 20 and above draw the cap), with the rail label carrying the true count; the drill shirt inverts the mark's first colour to white so a navy print never disappears on navy drill — both documented here and nowhere contradicted on the page. Nothing in the concept was found arithmetically wrong: all eight worked figures and the four floors reproduced exactly.