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.
Agent UX: designing for delegation, not magic
Agentic features fail when they promise magic. The interface patterns we use instead: scope setting, visible progress, checkpoints, undo and earned autonomy.
Modernising a heritage brand without erasing its soul
Heritage rebrands fail when they sand off the character that made the brand matter. Audit what's earned, keep-burn-build, and modernise without whitewash.
Search on storefronts: the shopper's shortcut
Storefront search is where high-intent shoppers confess what they want. Instant results, synonym curation, zero-results recovery and honest measurement.
Multi-currency storefronts without the exchange-rate lies
Display currency vs settlement currency, duties honesty at checkout, geo-prompts with consent, and the switcher that quietly inflates rates — done properly.
The launch-day QA checklist we run on every site
Launch week is preparation; launch morning is verification. Our day-of QA sweep: redirects, 404s, OG tags, forms, analytics parity, and the 72-hour war room.
Aspect-ratio systems for editorial imagery
Stop cropping at random. A small, deliberate set of aspect ratios — what each says editorially, how object-fit discipline works, and how ratios survive art direction.
Theme persistence without the flash
Dark mode that flashes light on load is a broken promise. Boot scripts vs cookies, SSR the right class, reconciling system preference, and testing regressions.
Prioritisation frameworks after RICE stops working
RICE works until the spreadsheet becomes the decision. What comes next: strategy filters, evidence maps, learning-first sequencing, meetings that decide.
Bundles and kits: merchandising beyond the single SKU
Bundles and kits done properly: curated vs build-your-own, pricing psychology, inventory implications, PDP architecture, and subscription bundle design.
Cart drawer or cart page? Stop guessing
The drawer-vs-page argument is a measurement problem, not a taste debate. The decision framework, drawer anatomy, cross-sell discipline and what to track.
Upgrade prompts that don't feel like ransom notes
In-product upsell timing and tone: moments of demonstrated value, honest limit nudges, the dismissed-state contract, and measurement that doesn't lie to you.
Workspaces and orgs: the UX of switching context
Where the workspace switcher lives, URL strategy per tenant, cross-space notifications, and preventing wrong-org mistakes without nannying confirm dialogs.