I was just trying to make a simple checkbook register.
That was sometime around 2010 or 2011, and at the time I had no idea that the little spreadsheet I was putting together would still be evolving fifteen years later. I was not so great at budgeting back then, but I was in a position where I had to learn how to do it. I was, however, decent at making functional spreadsheets, so I figured it would be quicker for me to just build something that I immediately understood how to use than to pay for a budgeting app and then spend time learning somebody else's system. Google Sheets was free (still is), I already knew how to use it, and I could make it work the way I wanted. For some reason, I had a hard time wrapping my mind around the methods other apps and software offered, so I started building one myself.
The first version was extremely simple. It was basically Date, Description, Debit, Credit and Balance. If I had a recurring expense, I couldn't just tell the spreadsheet that it happened every month. I had to manually create every instance of it, copy and paste everything, and drag the entries into the right places.
I recently went digging through some very old Google Sheets files and, incredibly, I still have one of these early versions. There's a little bit of a historical mystery with this particular file. It's called "2011 checkbook-register," but the transactions in it are from September 2014. I think what happened is that I created the original spreadsheet around 2011 and kept using that same basic sheet for several years, updating it as I went. I also found another document actually called "2014 checkbook-register," and it's essentially the same thing, with some updates.
Looking at it now, I can see the beginnings of some of the ideas that eventually became Budget Runner. There's already a running balance, a buffer and a notes section. The basic idea was already there: I wanted to see what was going to happen to the money in my checking account rather than just looking at what had already happened.
But it was still very primitive. And there's another thing you can see in that screenshot that I'm almost amused by now: I wasn't exactly great at sticking with it. That's pretty much all I have for that particular period. So apparently the original version of my budgeting system was a system I didn't consistently use.
That turned out to be a recurring theme.
By 2014, I had started experimenting with another way of looking at the budget. I created a traditional calendar layout and started putting bills and paydays directly onto the calendar. In theory, this was much closer to what I wanted. I could look at a calendar and see when bills were coming up and when money was coming in.
The problem was that I had to build the whole thing manually. Every bill had to be entered. Every payday had to be entered. If something changed, I had to change it. If I wanted to extend the calendar, I had to keep doing the same thing. So once again, I'd created something that solved one problem by creating another one.
I didn't abandon the idea, though. I kept coming back to it.
Every year, I would make changes based on whatever problems I'd run into the previous year. I kept finding quicker ways to copy and paste things and gradually made the process less painful. The system was changing because I was actually using it, and every time I found myself thinking, "There's got to be a better way to do this," I would try to find one.
By 2020, the spreadsheet had become considerably more sophisticated.
It was still fundamentally a transaction timeline, but I was tracking a lot more information and beginning to use the spreadsheet to identify financial bottlenecks. I was also using it as much more than a simple checkbook register.
By 2022, I had started developing something that would eventually become one of the features I use the most: the hotspot color bar.
The idea was super simple. When you're looking at a long list of transactions and projected balances, you shouldn't have to examine every number to figure out where things might get tight. I wanted the spreadsheet to visually tell me, "Pay attention here."
The buffer amount came through trial and error. Once I had the hotspot color bar working, I experimented with different numbers and found that $300 seemed to make the most sense for my particular income at the time. When I scrolled down the timeline, that seemed to give me a useful warning before things got uncomfortably close. It's not a magic number. Someone with a higher income might reasonably want a $500 or $1,000 buffer. The important part is that the buffer is adjustable and gives you some breathing room instead of treating every dollar of projected balance as money that's actually available to spend.
In 2023, I started experimenting with another idea that eventually became a major part of the current system: color-coded transaction status.
I was using colors to indicate whether transactions were in the past or still upcoming. It worked, but I was still doing it manually. Again, I had found a way to make the system do something useful, but I was still making myself do the work that the computer should have been doing.
Around 2019 or 2020, though, I had started thinking about the spreadsheet differently. Up until that point, it was very much my system. I knew all of its quirks, I knew which cells needed to be filled in, and I knew all the little tricks I'd accumulated over the years to make it work.
I wanted to change that. If I was going to make this something that other people could potentially use, I needed to separate the part where you describe your budget from the part where the spreadsheet actually builds the budget.
That led to the idea for the Blue Table.
The Blue Table would be the place where you entered your income and expenses. The rest of the spreadsheet wouldn't need to know anything about how you personally organized your finances. It would just need to take the information from the Blue Table and do something useful with it.
And that naturally led to the other half of the idea: if I had a standardized place to enter the information, I shouldn't still have to manually build the timeline.
So the Blue Table and the automation were really designed together. The Blue Table was the input, and the "Run It!" button was the thing that took that input and turned it into the timeline.
Before that, I'd gotten pretty good at manually building the timeline. I had figured out increasingly elaborate ways to copy and paste recurring expenses, move things around and get the process done faster. I had managed to cut something that originally took hours down to minutes. But even a few minutes was still ridiculous when the entire process was something I had to sit down and deliberately do on my day off. Budgeting shouldn't have to become a project. So I automated it.
I built the Apps Script that eventually became the "Run It!" button. I could enter my budget into the Blue Table, click the button, and let the spreadsheet build the timeline for me.
It now takes about 20 seconds.
That's probably the feature I'm most proud of. Not because a button that runs a script is particularly revolutionary, but because of what it replaced. I had spent years figuring out increasingly efficient ways to manually build the budget, and eventually I replaced all of that with something that takes about 20seconds to execute.
There's something slightly ridiculous about spending years perfecting a process so that the finished version can eliminate the process entirely. But that's exactly what I wanted.
Once I had that basic system working, I could start addressing the other things that made actually using the timeline easier.
The manually applied transaction colors eventually became the A/B/C checkboxes in the current version. Those give me a quick way to track the status of individual expenses and keep the projected budget synchronized with what's actually happening in the bank account.
The hotspot color bar also continued to evolve. What started as a fairly crude visual experiment became a way of quickly spotting potential bottlenecks in the timeline without having to scrutinize every balance.
By 2025, the overall architecture had become much closer to what Budget Runner is now. There haven't actually been that many cosmetic changes since then. Most of what I've been doing has been backend work, trying to make things more reliable and eliminate the little wrinkles that remain.
There's still work to do. For example, I'd like to make it easier to remove budget items with a button rather than having to deal with them manually - it's not just as easy as deleting . But at this point, it's no longer just my weird personal spreadsheet. That's probably the biggest change of all.
I started this because I thought it would be quicker to build something I understood than to learn somebody else's budgeting software. Fifteen years later, I've spent considerably more time learning how to build budgeting software than I ever would have spent learning how to use somebody else's. Which is a little ridiculous, but I'm glad I did it.
Because what I really wanted wasn't a way to look backward at where my money had gone. I wanted to look forward and see what was going to happen. If I know what's coming, I can make decisions before the problem happens instead of discovering the problem after the money is already gone. It's like driving in the dark and finally finding the switch for the headlights.
That's what the timeline is really for. The hotspot color bar is there so I can see where things might get tight. The status system is there so I can keep the projection connected to reality. The Blue Table is there so I don't have to understand how the entire spreadsheet works just to use it. And the "Run It!" button is there because I refuse to spend my day off manually building a budget when a computer can do the same thing in twenty seconds.
At some point, I realized that if this works as well for me as it does, there's probably a reasonable chance that it could help somebody else too. And that's where Budget Runner is now.
I'm not quite ready to release it yet. There are still a few things I want to iron out before I hand it to people and tell them to rely on it. But I'm getting close.
And I'm actually curious about something. If you use a budgeting app or spreadsheet now, what's the thing about it that drives you crazy? What part of budgeting takes you way more time than it should? And when you look at your finances, do you mostly want to know where your money has been, or do you want to know where it's going? Because that second question is what started this whole thing for me.
I didn't mean to build a budgeting system. I was just trying to make my checkbook easier to manage.
Apparently, fifteen years is a pretty long time to keep trying to make something easier.