The label on the label maker.
Everything in our store gets a spec table. The store itself shouldn't be exempt.
| Type | Cabinet Grotesk (the talking) · Departure Mono by Helena Zhang (the shopping). Both self-hosted; Departure Mono ships under the SIL Open Font License. |
| Palette | Midnight · Gold · Pink · Cream |
| Stack | Astro 7 + Tailwind 4 + TypeScript checks. Static HTML out, small vanilla-JS islands where the buttons need opinions. No page builder. |
| Analytics | Vercel Web Analytics + Speed Insights for traffic and speed, and PostHog for the enquiry journey. Plus GA4, the Meta Pixel and the ChatGPT Ads Pixel — we buy our own ads and want to know which ones work — and Squid, which tries to put a name to the businesses that visit. Full ingredients list: Privacy §04 and §05. |
| SKU registry | GD-BUILD-001 · GD-ADS-002 · GD-EMAIL-003 · GD-SEO-004 · GD-GROW-005 · GD-CRO-006 · GD-ONE-1xx |
| Trademark | Golden Digital® — registered with the USPTO, held by Golden Digital LLC. We keep the symbol in the small print, where it belongs. |
| Mascot | One (1) golden, named Goldie — plus her 8-bit form |
| Easter eggs | Three shipped. One is 40 years old and involves arrows and two letters; one lives where lost pages go; the third belongs to anyone who adds the whole stack. |
| Motion policy | Everything respects prefers-reduced-motion. The dog sits still if you ask. |
| Accuracy | All metrics carry time windows; placeholders wear "Sample" tags until sourced. We'd rather be checkable than impressive. |
The credits
Everyone who worked on this site. Most of them are CSS variables.
Colour
Read from the stylesheet when the site builds, so this list can’t go stale. Contrast is against cream and midnight: 4.5:1 and up carries text, 3:1 carries large text, anything under that is decoration.
Sprite palette
The six colours every pixel sprite is drawn in.
- Midnight
--color-midnight#222023On cream 15.9:1, textOn midnight 1.0:1, decoration - Gold
--color-gold#E5AD3EOn cream 2.0:1, decorationOn midnight 8.0:1, text - Pink
--color-pink#FFD7E3On cream 1.3:1, decorationOn midnight 12.4:1, text - Cream
--color-cream#FFFDF5On cream 1.0:1, decorationOn midnight 15.9:1, text - Gold deep
--color-gold-deep#7A5920On cream 6.3:1, textOn midnight 2.5:1, decoration - White
--color-white#FFFFFFOn cream 1.0:1, decorationOn midnight 16.2:1, text
Shading ramp
One step lighter or darker, for sprite edges and rules.
- Gold highlight
--color-gold-highlight#F3CE7AOn cream 1.5:1, decorationOn midnight 10.7:1, text - Gold shade
--color-gold-shade#B6862FOn cream 3.2:1, large textOn midnight 5.0:1, text - Pink shade
--color-pink-shade#E9AFC1On cream 1.8:1, decorationOn midnight 8.8:1, text - Line
--color-line#E8DCD2On cream 1.3:1, decorationOn midnight 12.0:1, text
Everything else
Muted inks, dark grounds and the one error red.
- Cream warm
--color-cream-warm#FAF5E8On cream 1.1:1, decorationOn midnight 14.9:1, text - Muted
--color-muted#4A4547On cream 9.2:1, textOn midnight 1.7:1, decoration - Muted dark
--color-muted-dark#4A4547On cream 9.2:1, textOn midnight 1.7:1, decoration - On dark muted
--color-on-dark-muted#B8B2AEOn cream 2.1:1, decorationOn midnight 7.7:1, text - On dark soft
--color-on-dark-soft#CFC9C4On cream 1.6:1, decorationOn midnight 9.9:1, text - On dark faint
--color-on-dark-faint#DAD5CFOn cream 1.4:1, decorationOn midnight 11.1:1, text - Surface raised
--color-surface-raised#2E2B2FOn cream 13.7:1, textOn midnight 1.2:1, decoration - Line dashed dark
--color-line-dashed-dark#6B6560On cream 5.6:1, textOn midnight 2.8:1, decoration - Gold darkest
--color-gold-darkest#49340FOn cream 11.6:1, textOn midnight 1.4:1, decoration - Error
--color-error#B23A2EOn cream 5.8:1, textOn midnight 2.7:1, decoration - Line strong
--color-line-strong#D5CBC3On cream 1.6:1, decorationOn midnight 10.1:1, text - Line on dark
--color-line-on-dark#3A363BOn cream 11.6:1, textOn midnight 1.4:1, decoration
Lettering
Cabinet Grotesk does the talking. Departure Mono, by Helena Zhang, does the shopping. Every font size on the site is one of these.
Cabinet Grotesk
--fs-1011px · micro-labelsOne team, judged on your revenue. We’d rather be checkable than impressive.--fs-1212px · chart legends, dataalso --fs-11One team, judged on your revenue. We’d rather be checkable than impressive.--fs-1315px · chrome: badges, pixel buttonsOne team, judged on your revenue. We’d rather be checkable than impressive.--fs-1717px · body basealso --fs-14, --fs-15, --fs-16One team, judged on your revenue. We’d rather be checkable than impressive.--fs-2020px · ledes, pull-quotesalso --fs-18, --fs-19One team, judged on your revenue. We’d rather be checkable than impressive.--fs-2424pxalso --fs-22, --fs-26Add to plan, then book the call.--fs-2828pxAdd to plan, then book the call.--fs-3232pxalso --fs-30, --fs-34Add to plan, then book the call.--fs-3838pxalso --fs-36, --fs-40Add to plan, then book the call.--fs-4444pxalso --fs-42Shop the growth stack--fs-4848pxShop the growth stack--fs-5252pxShop the growth stack--fs-5656pxShop the growth stack--fs-6464pxShop the growth stack--fs-9696pxAa--fs-128128pxAa--fs-160160pxAa
Departure Mono
--fs-1011pxAdd to plan · Review plan & book--fs-1212pxAdd to plan · Review plan & book--fs-1315pxAdd to plan · Review plan & book
Depth and timing
Hard offset shadows, no blur, ever. Hover and press move in two steps, like a sprite shifting a pixel, and all of it sits still under reduced motion.
Shadows
--shadow-hard-1--shadow-hard-2--shadow-hard-3--shadow-hard-4--shadow-hard-5--shadow-hard-6--shadow-hard-8--shadow-hard-gold--shadow-hard-cream--shadow-pixel-primary--shadow-pixel-proof--shadow-pixel-on-gold
Motion
| Token | Value | Used for |
|---|---|---|
--t-press | 60ms | button physics |
--t-hover | 120ms | lifts, chips |
--t-ui | 240ms | panels, swaps, drawers |
--t-enter | 400ms | reveals, pops |
--t-quick | 150ms | skip link, reprint flash, a short follow-on delay |
--t-fade | 250ms | catalog phone/poster cross-fades |
--t-settle | 260ms | shelf cards settling, the PDP dog following the pointer |
--t-slide | 300ms | gdSlideUp bars, gallery caption fades |
--t-march | 700ms | one loop of the gdLoadSegments march (booking loader, nav bar) |
--ease-snap | cubic-bezier(0.2, 0.9, 0.3, 1) | |
--ease-pop | cubic-bezier(0.3, 1.6, 0.6, 1) | |
--ease-step | steps(2, end) |
Starring Goldie
Her resting poses and the eight-frame walk cycle, shown in pixel form.

sitthe default
napwith zzz
barkwith a “!”
coinwinholding a coin
bagdashrunning a bag
walk01walk, frame 1 of 8
walk02walk, frame 2 of 8
walk03walk, frame 3 of 8
walk04walk, frame 4 of 8
walk05walk, frame 5 of 8
walk06walk, frame 6 of 8
walk07walk, frame 7 of 8
walk08walk, frame 8 of 8
Patch notes
What changed on this site, newest first.
v2.4
The store got toys
- Your plan drawer is a receipt roll now. Adding a service prints a line, removing one voids it, and “Tear off receipt” opens the receipt — whose barcode spells out your actual plan.
- Share a plan. The receipt has a Copy plan link button. The link carries the services and nothing about you, and whoever opens it gets asked before anything lands in their cart.
- The drawer suggests what pairs well with what you’ve picked, and goes quiet once your plan is nearly full.
- Compare the stack: Shopify Build and all five retainers side by side, on /shop.
- Save slot. Started the checklist, or holding an audit time? The top of the drawer remembers it, and clears it when you ask.
- Book your audit and Goldie delivers the ticket. Once.
- Case-study results sit on HI-SCORE boards, and the homepage stats roll in like an odometer. Same numbers as before.
- The barcodes are real. The ones on /pricing, /audit, /work, /partners and the approach pages are Code 39 — a scanner will read them.
- A thin gold bar shows at the top when a page takes a beat to load. Fast pages never show it.
- Safari: Add to plan stopped losing clicks, and the page stopped jumping.
- This page got credits: the palette, the type and Goldie’s sprite sheet, printed from the same tokens the site is built with. Plus these notes.
v2.3
Under the hood
- Every FAQ uses the same framed panel, and city pages read “City, ST” in the breadcrumbs.
- Tabbing through a page, the thing you land on stays clear of the sticky header.
- Under the hood: one set of shadows, one stepped hover, one stacking order for everything that floats, and images that refresh the moment they change. Same site, fewer ways for it to drift.
v2.2
Press play
- A pocket slot machine in the corner plays a short hello from Devin, with captions on. Every so often the reels land three Goldies. Minimise it, or hide it for 30 days.
- Partners and referrers get their own page at /partners.
v2.1
The audit fixes
- The header actually sticks now, and the page behind the cart or the menu stays put.
- Easier to read: no small print under 12px, midnight text on the gold city-page bands, tighter headings.
- Your first Tab lands on the page, not on an invisible analytics frame.
- The homepage asks for one thing per screen.
- Case-study charts are readable on a phone, with a previous/next rail between studies.
- Each audit has one name: the Growth Audit, the Free Shopify Store Audit and the 20-point checklist.
- The Klaviyo, Shopify Growth and CRO pages carry quotes from client calls.
- A result a client reported to us reads as exactly that, not as a five-star review.
- /contact shows our phone number and our office address.
- /privacy has an “On this page” list, and every § reference jumps to its section.
- The Black Friday page’s scrolling wall has a pause button.
- The Meta and Squid scripts wait until the page has loaded, so they stop getting in its way.
v2 — went 8-bit, hired a dog, started printing receipts.
v1 — sold growth like a product. Kept the idea, kept the palette.


