Thinking, in public
Field notes on design, engineering and growth — written by the people who ship the work. No thought leadership, just lessons with receipts.
Type as brand: when the typeface is the logo
Retail fonts, custom type, and the maths in between. How we decide when letterforms should carry a brand — and how to make typography do a logo's job.
B2B portals buyers love: quick order, CSV upload and reordering
Wholesale portals are won in the reorder flow, not the catalogue. Quick-order pads, forgiving CSV upload, standing orders, account pricing and rep handoff.
Marketplace or your own storefront? The honest scorecard
A weighted scorecard for the marketplace-vs-storefront decision: margin, data, brand surface, discovery, ops load — and the hybrid plays that follow.
Payments and trust at the AU/NZ checkout
Cards, Afterpay, Zip, PayPal and Apple Pay — how to order payment methods, price the fees honestly, and earn trust without clip-art badges at the AU/NZ checkout.
CMS migrations: the script is the deliverable
Why the migration script — not the new CMS — is the real deliverable: idempotent exports, content checksums, redirect mapping and parallel-running.
Font loading: recipes from the network tab
Webfonts are where performance budgets go to die quietly. Subsetting in CI, unicode-range slicing, per-role font-display policies, and the CLS nobody plans for.
Sandboxes that convert: demo data done right
A sandbox full of believable data outsells a drip-feed of tooltips. How to design demo data, sandbox vs trial taxonomy, resets, and the swap-to-real moment.
Notifications designed like you're not the main character
Notification systems people don't mute: severity ladders, digest economics, channel choice and the anti-patterns that train users to ignore everything you send.
Inclusive design beyond the checklist
Inclusive design past WCAG audits: inclusive language in UI copy, cognitive load budgets, SPA focus management, touch targets, and a critique criterion that sticks.
Settings: the screen your product is judged on at month three
Nobody evaluates settings during the trial; by month three they're how users judge you. Defaults as decisions, dangerous-action design, searchable settings.
The headless CMS migration runbook
A field-tested runbook for migrating to a headless CMS: content inventory, model mapping, redirect strategy, preview parity, and the cutover weekend checklist.
Core Web Vitals in the field: budgets that survive sprints
A practical Core Web Vitals program: LCP element archaeology, INP triage, CI-enforced budgets, and real-user monitoring on a shoestring. Recipes that work.