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 · 22 Jan 2026 · 9 min

Click-and-collect without the car-park chaos

BOPIS is a promise your website makes about a physical place. Store-level stock honesty, honest handoff windows, SMS that stands alone, and the expired-order state.

click and collectomnichannelcheckout
E-commerce · 22 Jan 2026 · 12 min

Scarcity and urgency, without lying about stock

When 'low stock' messaging is service and when it's manipulation — inventory-synced badges, countdown-timer ethics, and urgency copy that survives an ACCC sniff test.

scarcityurgencydark patterns
Engineering · 22 Jan 2026 · 12 min

Background jobs: boring patterns that save your weekend

Queues vs cron, idempotency, dead-letter queues and backpressure — the boring background-job patterns that keep small teams asleep at 3am.

backendreliabilityarchitecture
Engineering · 22 Jan 2026 · 10 min

GraphQL vs REST, eight years in: a pragmatic retelling

GraphQL vs REST in 2026, without the zealotry: where GraphQL earned its keep, where it added cost, and the plain-REST setups we'd pick again tomorrow.

API designgraphqlrest
Engineering · 22 Jan 2026 · 9 min

Building an image pipeline that designers don't curse

The image pipeline behind our fast pages and happy editors: AVIF/WebP fallbacks, focal-point crops, build-time vs CDN transforms, and the editorial fields that matter.

performanceimagesavif
Engineering · 22 Jan 2026 · 11 min

Streaming SSR: practical notes from shipping it

Streaming SSR in practice: what actually streams, where Suspense boundaries help or hurt TTFB, hydration ordering, mid-stream errors, and how to measure it.

reactSSRperformance
Engineering · 22 Jan 2026 · 10 min

WebGL on a budget: shipping 3D without melting mid-range phones

Shipping WebGL inside a performance budget: draw-call discipline, texture arithmetic, lazy canvases, device tiers, and keeping the 3D moment under 500KB.

webglperformance3d
Growth · 22 Jan 2026 · 9 min

Designing CRO experiments you can believe

Hypothesis quality, sample-size honesty, the peeking problem, change isolation versus big-bang redesigns, and documenting learnings so your programme compounds.

CROexperimentationab testing
Playbooks · 22 Jan 2026 · 11 min

The one-day performance audit (a playbook)

Run a credible performance audit in a single day: lab vs field data, Lighthouse and WebPageTest against CrUX, and an effort/impact findings template that ships.

performance auditcore web vitalswebpagetest
Product · 22 Jan 2026 · 9 min

Keyboard shortcuts nobody finds

Most shipped shortcuts are discovered by accident or never. Legends, cheat sheets, teaching in context, remapping, and designing for the power user you'll have.

keyboard shortcutspower usersinteraction design
Web design · 22 Jan 2026 · 8 min

Cookie banners: an honest design guide

Consent banners are the most-seen, least-designed UI on the web. Dark patterns, layered consent UX, CMP performance costs, and compliance that converts.

consentUXprivacy
Growth · 21 Jan 2026 · 12 min

Paid vs organic: an honest budget conversation

Paid buys speed, organic builds equity. The CAC sanity math, payback windows, and creative-testing handoffs that decide where your next marketing dollar belongs.

budgetpaid mediaSEO