Engineering Notes
Code is abundant now. Architecture, maintainability, and staying true to what the application is for are still the hard part.
Twilio Messaging With Per-Company Keys
Why each company in a multi-tenant app sends text messages with its own Twilio credentials, how webhooks find the right tenant, and how consent is enforced.
How I Triage a Codebase That Is on Fire
When a system is failing and nobody knows why, the order of questions matters. This is my triage list, from is it running to is something contaminating the data.
Why I Write Tests Before AI Writes Code
AI coding works when the agent runs inside rules I set: fixed function contracts, known patterns, and tests that define done before the code exists.
Rebuild Staging From Production Backups
Before each release, I rebuild staging from the latest production backup. The release gets tested on real data shapes, and the restore process gets tested too.
Why SEO Pages Need Refresh Cycles
Pages I built kept earning traffic for years, then declined when nobody maintained them. Every content plan needs a refresh schedule, and more pages mean more upkeep.
Why I Return Data and Error, Not Throw
Returning a data and error pair from async functions keeps failures from vanishing. Here is why a boring, enforced pattern beats clever error handling.
How I Recover Stale Crawler Jobs
When a crawler worker dies mid-job, the rows it claimed sit in a started state forever. Here is the timeout, retry count, and alert that fixed that.
Fixing Prometheus High-Cardinality Metrics
Unbounded labels like user and property IDs inflate Prometheus metrics. I removed them, kept bounded dimensions, and fixed the design instead of changing platforms.
Private S3 Storage With Pre-Signed URLs
A private S3 bucket is not an authorization system. The application decides who may see a file, then hands out a short-lived pre-signed URL.