Neither of the other two tools I’ve written about recently would exist without this one, and it’s the one I almost didn’t write about, because on its own it doesn’t have a moment. It has a spreadsheet.
Two separate systems needed to read the same kind of data — spreadsheet-based, hand-maintained, the kind of source of truth that lives in someone’s tabs because it predates any of the automation built around it since. One system needed it for forecasting. The other needed it for real-time list assignments. Both were reading from Google Sheets. Both were going to hit the API rate limits if they each re-read the whole workbook on every check, which is exactly what the first version of each did independently, before I noticed they were solving the same problem twice.
The unglamorous fix was hash-based change detection — before pulling a worksheet’s full contents, check whether anything actually changed since the last read, and skip the pull entirely if it didn’t. It’s not a clever idea. It’s the obvious idea, the one you reach for once you’re annoyed enough by watching two tools hammer the same sheet for no reason.
What surprised me wasn’t the fix, it was how much friction disappeared once it existed. Both consumers got faster and more reliable at the same time, for free, because neither of them had to think about rate limits anymore — that problem moved down a layer and got solved once instead of twice.
The struggle here isn’t technical, it’s motivational. This is the least interesting tool I maintain. It doesn’t forecast anything, it doesn’t catch anything, it just reads a sheet and remembers what it already read. It’s tempting to skip documenting infrastructure like this, because there’s no dramatic bug story attached to it. But the forecasting system and the outlier-detection tool both silently depend on this one being correct, and if it drifts, they both look broken for reasons that have nothing to do with either of them.
The lesson: the tool nobody notices is often the one everything else is quietly standing on, and it deserves the same rigor as the tools that get the credit.
Next: extending the same compatibility pattern to a third consumer, now that two have already proven the interface holds.