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.
React Server Components: the trade-offs nobody puts in the talk
A sober field account of React Server Components: where they genuinely help, where the mental-model and caching costs bite, and how we decide per project.
Marketplace or your own store? Run the real numbers
Marketplace or your own store? The fee maths, brand equity and data trade-offs, the hybrid plays that work, and the honest case for staying put.
Returns are a product feature — design them like one
Most stores treat returns as a policy PDF. The best build a self-serve returns portal that saves revenue, feeds merchandising data, and keeps customers.
Customer health scores: design them like you mean it
Health scores worth trusting: component signals over opaque integers, trends over snapshots, alert thresholds without noise, and sharing the score.
Jobs-to-be-done interviews: our exact script
Most customer interviews collect feature requests in research costumes. Our JTBD format: the timeline technique, hiring-and-firing language, and red flags.
Handovers that don't decay: the living handover playbook
Most agency handovers are a folder of PDFs and a prayer. Here's the playbook we run instead: documentation that gets used, pairing windows, and a 30-60-90 support taper.
Engineering keyboard-first interfaces
Roving tabindex, focus management without traps, shortcut systems users can actually discover, and the test setup that treats the keyboard as a primary input.
Attribution that admits what it doesn't know
Attribution is always lying a little. Model taxonomy, dark social acceptance, self-reported fields, geo holdouts and decision-making without false precision.
Brand architecture decisions: house, endorsed, or let go
Branded house, endorsed brands or house of brands — how to choose, what migration costs, the sub-brand rules that prevent chaos, and how acquisitions change the answer.
Estimating: how studios price and how to read a quote
Demystifying software estimates: scope decomposition, risk loading, fixed price vs retainer maths, variation clauses, and the questions buyers should ask.
Type systems for marketing sites that still load fast
How to build a marketing-site type system that carries the brand without blowing the performance budget — variable fonts, subsetting and metric-matched fallbacks.
The cart is a negotiation, not a spreadsheet
Cart UX that closes: drawer vs page economics, threshold cues done honestly, gift and quantity design, save-for-later rituals, and mobile-first cart anatomy.