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.

AI · 4 Aug 2026 · 13 min

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.

AI pricingunit economicsSaaS pricing
AI · 4 Aug 2026 · 11 min

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.

AIonboardingexpectation setting
Growth · 4 Aug 2026 · 9 min

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.

branded searchbrand awarenessdemand generation
Web design · 4 Aug 2026 · 9 min

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.

UX patternsnavigationeditorial design
AI · 30 July 2026 · 11 min

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.

LLM opsmigrationevals
Engineering · 30 July 2026 · 9 min

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.

performancestatic-sitesdeveloper-experience
Engineering · 30 July 2026 · 12 min

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.

websocketsserver-sent eventsrealtime
AI · 22 July 2026 · 11 min

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.

AI UXcitationsRAG
AI · 22 July 2026 · 12 min

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.

prompt libraryteam operationsAI governance
Growth · 22 July 2026 · 9 min

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.

content strategySEOcontent audit
Web design · 22 July 2026 · 10 min

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.

footer designdesign reviewweb design craft
Brand · 21 July 2026 · 9 min

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.

namingtrademarkdomains