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 · 24 June 2025 · 9 min

RAG pitfalls we hit so you don't have to

Retrieval in production humbles everyone. The chunking trade-offs, citation bugs, stale knowledge and eval failures that taught us how RAG actually breaks.

RAGretrievalvector search
Growth · 24 June 2025 · 9 min

Digital PR for links: an honest playbook

Link earning without spam: data studies people cite, expert commentary workflows, asset-led outreach, realistic conversion rates, and how to tell if it's working.

digital PRlink buildingSEO
Product · 24 June 2025 · 8 min

Activation metrics that mean something

Most activation metrics are flattering fictions. Find the behaviour that predicts retention, measure time-to-value honestly, defend it in the boardroom.

product metricsactivationretention
Product · 24 June 2025 · 8 min

Template galleries: the shortcut to the aha moment

Starter templates are onboarding's best shortcut — if they're categorised by job not industry, previewed live, pruned ruthlessly and measured to activation, not clicks.

templatesonboardingactivation
Engineering · 20 June 2025 · 9 min

The caching layers cake: HTTP, ISR and the discipline of invalidation

A layered caching model for content-heavy sites — CDN, full-page, data and application caches — plus the purge-on-publish pattern that ends 3am incidents.

cachingperformancearchitecture
Engineering · 20 June 2025 · 11 min

i18n beyond the strings file

The hard 20% of internationalisation: plural rules, dates and currency, RTL layout, locale-aware content modelling, and design tokens that change per language.

i18nlocalisationrtl
Engineering · 20 June 2025 · 10 min

Local-first on the web: sync engines, honestly

What local-first architecture actually costs and buys: IndexedDB patterns, CRDT trade-offs, schema migrations, sync-status UX, and when server-first is simply right.

architectureofflinesync
Engineering · 19 June 2025 · 9 min

Islands architecture: sprinkle, don't soak

When islands beat a full SPA: hydration costs, interaction latency budgets, the pragmatic hybrid pattern we use on content-heavy sites, and the traps.

architectureperformancehydration
Engineering · 19 June 2025 · 11 min

A testing strategy that ships: what to test, what to skip, what to delete

Our testing pyramid, rebuilt for reality: contract-first unit tests, a thin layer of Playwright journeys, flake budgets, and a CI bill we defend monthly.

testingplaywrightvitest
Product · 19 June 2025 · 10 min

The spreadsheet migration is the real onboarding

Most B2B onboarding is a spreadsheet migration wearing a wizard's hat. Column mapping, dry-run imports, inline validation, and the week-one trust dividend.

CSV importdata migrationonboarding
Web design · 19 June 2025 · 9 min

Running design critiques that sharpen instead of flatten

Our studio's critique framework: roles, timing, the 'specific or silent' rule, and critiquing outcomes instead of taste. Includes a one-page checklist.

design critiquefeedback culturedesign process
Brand · 17 June 2025 · 9 min

Icon systems: the quietest, hardest-working brand asset

Icons do more daily brand work than your logo. How to design an icon system: grids, metaphor consistency, custom vs library, motion rules, and style guides that survive.

iconsidentity-systemsdesign-systems