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.
Queuing writes for a flaky world
Offline writes done honestly: outbox queues, idempotency keys, optimistic state that admits it's pending, conflict surfacing, and deciding which features truly need them.
The help centre is a growth channel: SEO that deflects tickets
Your help centre is a growth channel in disguise. How to write support docs that rank for problem-aware searches and measurably deflect tickets.
Our responsible-AI review, in the open
The full review we run before any AI feature ships: risk taxonomy, red-team scripts, disclosure patterns, data-handling checklists — and how we say no to features.
Site search: the highest-intent feature most stores neglect
On-site search users convert at multiples of browsers, yet most stores never open their search logs. The analytics loop, merchandising rules and KPIs that fix it.
Community-led growth: the honest ten-year version
What a decade of building B2B communities taught us: when community is worth the commitment, formats that sustain, and measuring dark-funnel influence.
RAG and the staleness problem: freshness is a ranking signal
Stale retrieval makes RAG answers confident folklore. Treating freshness as a ranking signal, surfacing 'last updated' in answers, and designing the re-indexing pipeline.
Command palettes: patterns for the Cmd-K era
When a Cmd-K palette earns its complexity: ranking that beats fuzzy match, mixing actions with navigation, keyboard ergonomics, discovery and mobile equivalents.
Will your logo survive your product?
Identity work gets judged at 16 pixels. Favicons, avatar crops, dark surfaces, motion restraint, and the logo-usage contract that keeps engineers on side.
AI triage for support: routing, not deflecting
AI support triage should route customers, not wall them off. Intent detection that errs toward humans, handoff packages, and the deflection metric trap.
Human-in-the-loop: designing the review queue
Human-in-the-loop AI fails at the queue, not the model. Triage design, keyboard-first reviewer ergonomics, feedback loops into evals, and honest staffing maths.
Keep your pages findable by Ctrl-F
Virtualisation silently breaks in-page search. The hidden=until-found and content-visibility toolkit, chunk-rendered long lists, and when a custom find box earns its keep.
Bento grids: when the box layout earns its keep
A fair assessment of bento layouts: what they do well, where they collapse, span systems that survive real CMS data, and typography rules for mixed-size tiles.