API Rate Limiting That Doesn't Break Your Clients
Token bucket or leaky bucket is the easy choice; burst semantics, quota scope, and retry behavior are the decisions your clients inherit.
6 min · July 22, 2026
Code, architecture, and tooling — small topics, not RTFM.
Token bucket or leaky bucket is the easy choice; burst semantics, quota scope, and retry behavior are the decisions your clients inherit.
6 min · July 22, 2026
Independent deploys are fine. Pretending each green pipeline is a release is how you recreate Tuesday's outage without knowing which Tuesday.
7 min · July 16, 2026
The maturity ladder is marketing. Team skill and traffic shape decide the platform.
6 min · July 13, 2026
Column rename, type change, FK add — each one without the rollback conversation.
6 min · July 8, 2026
The branch strategies that survive contact with a real team — without the enterprise ceremony
6 min · June 29, 2026
Append-only postings survive payouts — mutable balance columns don't.
6 min · June 17, 2026
Same-session green tests prove consistency — not that you shipped what the spec asked for.
6 min · June 15, 2026
Redis did its job on every miss — your application just sent two hundred loaders to Postgres at once.
6 min · June 15, 2026
The version timeline is everywhere. The resume logger, the Usenet post, and the sideways doodle that became a mascot — that's the birthday story worth telling.
6 min · June 10, 2026
Retries with an error taxonomy, deduplication that survives cleanup, and a dead-letter queue someone actually inspects — not a five-minute `Queue` demo.
6 min · June 6, 2026
Containerize your first app without cargo-culting a 12-layer config from Stack Overflow
7 min · May 30, 2026
Sätteri can shave a minute off docs builds — but only if you accept a different plugin universe. The `cf()` helper only matters if you already own the fetch handler.
6 min · May 29, 2026
You already have metrics. What you probably lack is a correlation contract — one collector, three signals, sampling at the tail.
6 min · May 29, 2026
Your Stripe subscription can be current while every seat slot is taken — Laravel Entitlements models that gap instead of pretending billing status is capacity.
6 min · May 27, 2026
Pros-and-cons lists fail when Mongo needs `$lookup` for every report and Postgres JSONB rewrites the whole row on every sensor tick.
8 min · May 27, 2026
AST-first codegen wins when TypeScript on disk is your contract boundary — the moment Legal or Mobile needs OpenAPI, you're back to picking whose lie is authoritative.
8 min · May 26, 2026