Notes from the
workshop.
Occasional essays on building serious web software — most of them about decisions we wish someone had warned us about. Engineering, search, design, and the unglamorous middle layer that keeps things alive in production.
The 2026 redesign imperative
Your interface is the only part of the company most people ever touch. When it looks three years old, they assume the company is too — and why standing still now reads as going backwards.
LLM optimisation: making your product legible to machines
Search is no longer the only thing reading your site. How to be the answer an assistant gives, not the page it skips — and why it's an engineering problem, not copywriting.
Programmatic SEO in 2026: scale without the slop
Generating ten thousand pages has never been easier, which is exactly the problem. The technique still works — for teams willing to make every page actually answer something.
Your 2026 moat is the software nobody else can buy
Your competitors have the same SaaS stack and the same AI tools you do. The only thing they don't have is the system you built for the way you actually work.
Search that understands a hotel room
Elasticsearch is a generalist. Hospitality data isn't. How we model rate plans, occupancy and amenities so the right room shows up first — and why most search problems are really data-model problems in disguise.
Stop designing for the marketing director
Most operational software is designed for the people who buy it, not the people who use it at 3am. We argue for the night auditor, the maître d', the cleaner with three children waiting at home.
The day we stopped using ORMs
A small confession from a project that had outgrown its abstractions. What we replaced it with, what we kept, and why we now reach for hand-written SQL more often than we used to.
Observability for small teams
You don't need a SRE org to know what's happening in production. Five tools, two dashboards, one alerting principle. A pragmatic stack for the next eighteen months.
The PMS is the bottleneck
Most of the integration pain in hotel software comes from one place. Why that is, what to do about it, and a short taxonomy of which APIs are worth your time.
The case for boring infrastructure
We deploy roughly the same way we did in 2008. Postgres on a managed service, a couple of containers, a CDN in front. Here's why, and what we'd reach for first if we changed our minds.
Density is a virtue
Modern web design has slowly turned everything into a coffee-table book. A small defence of the spreadsheet, the dashboard, and the screen that respects your time.
Synonyms, locales, and other ways search lies
Three of the smallest, most painful mistakes you can make when tuning relevance — and the test harness we use to catch them before they reach production.
A few essays a year.
Nothing else.
We send out a short note when we publish something new — usually three or four times a year. No tracking, no upselling, no "thoughts on AI" unless we actually have one.