Blog
Notes on backend engineering — mostly Rails, databases, and the systems around them.
-
Adding a Change-Log System Without Breaking the One You Have
Building an audit trail into a live product is mostly about what *not* to break — observability, latency, context, and a database that can scale alone.
-
Reshaping an Invoice-Sync Pipeline Without a Rewrite
A 1:1 sync framework had to absorb a 1:N invoice workflow with prepayments, locking, and idempotent retries — without forking the platform.
-
Traveling time with Postgres Range Columns
In Challenges of Time-Based Systems Without Proper Database Structures, we looked into everything that went wrong when we tried to build a temporal system without a compatible foundation. In this article, we will desc...
-
Challenges of Time-Based Systems Without Proper Database Structures
When we store information in our database, we normally store it without a time dimension even if it is only valid for a specific period of time. For example, people move around all the time, but most apps ask for your...
-
Automation Engine Refactor for Performance and Maintainability
Imagine starting your day with your mailbox full of outages due to all database connections being held up for an extensive period. Nobody likes it and our team went on a mission to ensure we never have such a day agai...