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.

The latest big read

AI form copilots: suggestion, not substitution

AI form copilots work when they suggest, not substitute: per-field confidence, bulk-fill undo, and one rule — the model never commits silently.

AI · 22 Sept 2026 · 10 min read · Dev Khatri
A blank paper form on cream paper with a brass mechanical pencil hovering above it, a ghosted pencil suggestion on one line, a brass ruler and fern frond nearby.
AI · 25 Sept 2026 · 11 min

The context window is a product decision

The context window is a product decision: curating what the model sees, showing users what's in scope, and designing honest 'I don't know' moments.

AI UXLLMcontext
Engineering · 22 Sept 2026 · 10 min

Experiments that don't shift the layout

A/B testing without layout shift: server-side assignment, experiment flags that never leak into the DOM, metric integrity, and the true cost of visual editors.

performanceexperimentationarchitecture
AI · 18 Sept 2026 · 11 min

Every AI feature needs a kill switch

Config-driven disable paths, graceful degradation, incident comms for model-caused bugs, provider outage posture, and the quarterly drill where you flip the switch.

operationsreliabilityfeature flags
AI · 18 Sept 2026 · 10 min

How long should the answer be? Right-sizing LLM output

Answer length is a product decision, not a model default. Per-surface budgets, summary-detail layering, and evals that treat 'too long' as a failure.

AI UXLLMprogressive disclosure
AI · 15 Sept 2026 · 11 min

Editorial copilots that don't flatten the voice

Editorial copilots should sharpen a voice, not flatten it: drafting vs polishing modes, house-style injection, fact hygiene and honest review flows.

AI UXcontent designbrand voice
Web design · 12 Sept 2026 · 10 min

Hover states with purpose

Hover is the most abused state in interface design — decoration where it should teach. A taxonomy of hover states that do a job, plus the focus-parity rules.

interaction designUX patternsaccessibility
AI · 11 Sept 2026 · 13 min

Prompt injection: the threat model your LLM feature needs

A defensive playbook for shipped LLM features: untrusted-content labelling, tool privilege separation, output screening, canary tokens and red-team CI.

LLM securityprompt injectionthreat modelling
AI · 10 Sept 2026 · 11 min

Memory is a UX surface: designing what assistants remember

What an assistant remembers is a designed surface: inspectable memory, deliberate forgetting, edit affordances, and the privacy postures that earn retention over time.

AI UXmemorypersonalisation
AI · 10 Sept 2026 · 10 min

Citation design: showing the AI's working

Citations are how AI answers earn belief. Inline sources, confidence without fake precision, expandable evidence, link rot, and how provenance UI measurably builds trust.

AI UXcitationsRAG
E-commerce · 8 Sept 2026 · 10 min

Pre-orders are a trust exercise, not a checkout variant

Pre-orders and crowdfund launches fail on expectation design, not payment plumbing. Charge timing, delay scripts and the trust ledger that carries a launch.

preorder UXproduct launchcrowdfunding
Growth · 8 Sept 2026 · 9 min

Internal linking is architecture, not an afterthought

Internal linking is information architecture, not a plug-in. Hub-and-spoke models, anchor-text discipline, related-content automation, and measuring crawl paths.

internal linkinginformation architectureSEO
Product · 8 Sept 2026 · 8 min

Continue on your phone: handoff UX that doesn't lose people

Session and device handoff done properly: continue-on-another-device flows, magic links vs QR codes, delayed-resume UX and the honest security boundaries.

cross-device UXhandoffmobile web