~/changelog
Daily learnings
The running log of what I shipped, learned, and noticed. Short notes, honest dates — the raw material the weekly signal gets distilled from.
shippedThis site, mostly while asleepHanded an agent a design system and a brief and went to bed. Woke up to a deployed personal site with a live newsletter. The taste was mine; the typing wasn't.
learnedBrowser keys don't work server-sideA NEXT_PUBLIC Maps key throws REQUEST_DENIED the moment you call the web service from a server. Two keys, two jobs. Obvious in hindsight; cost me an afternoon.
noticedThe bottleneck movedIt's not 'can we build it' anymore. It's 'do we know what's worth building'. Taste is the scarce input now, not effort.
shippedPer-client rooms for proposalsTokenised, tracked client rooms instead of email attachments nobody opens. Small idea, disproportionate payoff.
learnedInsert-only beats clever syncTwo systems writing the same rows is a bug factory. Make one of them append-only and the whole reconcile problem evaporates.
noticedResidential IPs see a different internetScraping public pages from a datacentre ASN gets you a stripped-down view. The same request from a residential IP gets the full one. The web has a bouncer.
learnedHeaded beats headless for the hard pagesSome sites only render their good stuff to a real, consenting browser. A headed Playwright session with the cookie banner accepted gets data a headless one never sees.
shippedPre-publish scrubber for AI tellsA deterministic pass that strips the markdown headings, bold-everything and 'In conclusion' slop before anything goes out. Robots write; humans should still sound human.
noticedDemos lie, pipelines don'tAnything looks magic in a 90-second demo. The tell is whether it survives contact with real data on a Tuesday. Most don't.
learnedSubagents catch what I missRunning a second model over my own work as a sceptic, before merge, reliably finds the bug I was too close to see. Cheap second opinion, real bugs.
shippedEndurance layer, livePace, distance, progression — shipped the endurance layer of the training platform. Built it in slices so each one could go to prod on its own.
noticedMeta-repo over monorepoFor a sprawl of small projects, a thin index repo that points at the others beats one giant monorepo. Keep the coupling where it belongs: nowhere.
~/newsletter
One signal a week.
Zero hype, mostly.
What the vibe coders are building and what AI is unlocking for builders and operators. Written for people who ship.
No spam · unsubscribe whenever, no hard feelings