Engineering decisions for mature Rails systems
This blog is about engineering decisions in mature Rails codebases. I write from experience—debugging production issues, simplifying systems, and choosing boring tools that survive.
Featured
A Preflight for Rails Upgrades
Why understanding the dependency, execution, and behavioral surfaces of a Rails system makes upgrades more predictable.
Recent Posts
-
The Signals That Predict a Difficult Rails Upgrade
The structural signals that make Rails upgrades hard before the upgrade work even begins.
-
The Upgrade Anxiety Curve in Mature Systems
Why Rails upgrades become unpredictable in mature systems, and why successful upgrade work starts with discovery rather than execution.
-
The Local Reasoning Budget of a Codebase
Every codebase has a local reasoning budget — the amount of context a developer must hold to understand what a piece of code actually does. When systems exceed it, velocity drops and fragility sets in.
-
Why the German Government Emailed Me About My Kamal Deployment
A cautionary tale about Docker, iptables, and why you should always double-check your port bindings when deploying with Kamal 2.x.
-
Where Rails Apps Actually Slow Down
Performance symptoms and structural causes in long-lived Rails systems.