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.
Pricing AI features: cost curves, credits and honest limits
How to price LLM features without burning margin: cost per action as a unit-economics input, credits vs guardrailed unlimited, fair-use caps, tiering and drift.
Onboarding for AI features: sell the p50, not the demo
AI onboarding fails when it promises the demo's best-case output. Design first-run flows around median performance — calibrated examples, honest scope, progressive trust.
Make them search your name: growing branded search demand
Branded search is the closest thing marketing has to a census of memory. Here's how to grow it deliberately — and measure it without flattering yourself.
Anchor navigation on long pages: TOCs that get used
Tables of contents are either the hardest-working furniture on a long page or pure decoration. How we design anchor navigation that earns its pixels.
Swapping the model without breaking the product
Model migrations without breaking the product: shadow runs, eval-gated cutovers, tone and format regression diffs, and rollback plans for behaviour you can't unit test.
Syntax highlighting with zero runtime
Syntax highlighting with zero runtime: tokenise at build time, theme code with design tokens, keep language support honest, ship an accessible copy button.
WebSockets vs SSE: a realtime guide without religion
An honest guide to realtime transport: WebSockets vs SSE vs polite polling. Lifecycle, reconnection with backoff, presence, scaling and mobile battery realities.
Citation design: making RAG answers checkable
Citations only work if they're checkable: claim-to-chunk mapping, snippet fidelity tests, anchor UX, and what to do when the source contradicts the summary.
Prompt libraries that survive the team
A well-structured prompt library still dies if nobody owns it. The team side: ownership, review rituals, discoverability, drift control and reuse metrics.
Content pruning: the unglamorous SEO lever
Dead-weight URLs drag the whole site down. How we audit, decide merge-redirect-delete, protect traffic through the change, and monitor the next 90 days.
Design the footer like someone reads it — because someone does
Beyond the sitemap taxonomy: the footer design review as its own ritual — contact confidence, newsletter fields, legal rows and the details that signal craft.
The trademark reality check your naming process needs
The thousand-name funnel from brainstorm to survivor: linguistic screens, trademark classes, domain compromise positions, app-store collisions, graceful exits.