Journal

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.

E-commerce · 20 Nov 2025 · 12 min

Size guides and the design of fit confidence

Fit uncertainty is apparel e-commerce's biggest tax. Size guides, fit finders and honest model references that cut fit-driven returns with design, not policy.

size guidesapparelecommerce UX
Web design · 20 Nov 2025 · 9 min

Art-directing images for the responsive web

Cropping is composition. Focal-point markup, per-breakpoint aspect ratios, srcset discipline and an honest reckoning with when AI imagery serves a brand.

art directionresponsive imagesphotography
Brand · 19 Nov 2025 · 8 min

Co-branding: rules for sharing the stage

Partnership work exposes weak brand rules. Designing co-brand lockups, negotiating hierarchy, governing colour custody, and drafting legal-adjacent bits early.

co-brandingpartnershipsbrand governance
Engineering · 18 Nov 2025 · 10 min

Dependency hygiene: the boring audit that saves the launch

Client codebases rot at the package.json line. Audit cadences, update windows, vendoring decisions, and the licence review nobody does until procurement asks.

engineeringdependenciessecurity
Engineering · 18 Nov 2025 · 8 min

One schema everywhere: shared validation contracts

One Zod schema shared across client forms, API handlers and generated types. The architecture, error mapping and versioning that end validation drift for good.

typescriptvalidationarchitecture
Engineering · 18 Nov 2025 · 10 min

Supply-chain security for JS teams (without the panic)

A calm, runnable supply-chain security practice for JS teams: lockfile hygiene, dependency cadence, audit triage and provenance — no fear-mongering.

securitydependenciesnpm
Growth · 18 Nov 2025 · 9 min

Content clusters that compound: planning in public

How we build topic clusters that compound: pillar economics, keyword-to-intent mapping, link graphs, refresh cadence, and the planning spreadsheet we use.

content strategySEOeditorial planning
Engineering · 14 Nov 2025 · 10 min

Bundle budgets: the 170kb rule and how we hold it

Our rule: 170kb of compressed JavaScript per route, or the PR explains itself. How the budget works and where we spend bytes on purpose.

performancebundlingcode splitting
AI · 13 Nov 2025 · 12 min

Golden evals: mining support tickets for test sets

Your support inbox is the best LLM eval dataset you'll ever get. How to mine tickets into versioned golden sets that catch regressions before users do.

LLM evalsAI qualitysupport
Brand · 12 Nov 2025 · 9 min

Brand governance without the brand police

Governance fails when it's enforcement. How to build decision rights, self-serve assets and exception handling that make the right thing the easy thing.

brand governancedesign opsasset management
Growth · 12 Nov 2025 · 9 min

CRO experiments worth running: a field guide to honest testing

Most test backlogs are junk drawers. How we triage CRO ideas by evidence, opportunity and traffic tier — and sequence experiments so the learnings compound.

CROexperimentationprioritisation
Product · 12 Nov 2025 · 9 min

Undo beats confirm: designing reversible software

Confirmation dialogs train users to click through danger. Undo-first design: timing, reversible architecture, soft deletes, and the trust dividend of forgiving software.

undodestructive actionstrust