Anal Retentive Budgeting

Get away
You get a good job with more pay and you’re okay
It’s a gas
Grab that cash with both hands and make a stash

New car, caviar, four star, daydream
Think I’ll buy me a football team

Pink Floyd

When I was growing up, I didn’t get my hands on a ton of my own money. Mostly that’s because I was too lazy as a kid to do any work to earn money. And the kids in my family didn’t get an allowance. So the only money I did have was from birthdays and the tooth fairy. For many kids, having money just burns holes in their pockets, and they can’t wait to spend it on the first thing they see. But not me. The idea of spending money filled me with great anxiety. The prospect of no longer having money, after having it, even if it meant I got something, was too frightening of an idea for me to feel comfortable spending it. So that made me stingy.

How to Spend Money

I am an Eagle Scout. And I am proud of it. As much of my life as has been surrounded by technology, I had plenty of it surrounded by nature, and the woods of my home in the southeastern United States. Well one of the requirements on the road to becoming an Eagle Scout is earning the Personal Management merit badge. This is the one where you have to learn about budgeting your finances. But you don’t just have to learn about it, you have to do it. For 3 months. So it’s not a good idea to put off to the very end. Of course I still did any way. Regardless, by this point I did have a job and was earning money, so I in fact had money to budget. But you learn doing this that budgeting consists of anticipating your income and how you’ll spend it, tracking your income and expenditures, and then assessing how well you stuck to your plan.

The Personal Management merit badge doesn’t necessarily dictate how you budget your money, other than the 3 principles I mentioned, so I came up with what I now know is called the envelope system. It was the early 2000’s at the time I did this. I didn’t have a bank account, so every time I cashed a check, I took the cash home and put it in one of several actual envelopes. If I am not mistaken, I had four total envelopes, one for bills, one for savings, one for everything else, and I can’t remember what the fourth was for. I had to track all debits and credits on each separate “account,” as I called each envelope. Sometimes I would have to do a “transfer” between “accounts,” which just meant I took money out of one envelope to make ends meet in the other envelope. Pretty thorough for a 17-year-old who is experiencing earning and having money for the first time.

Photo by Karolina Grabowska:

Developing a System

As an 18-year-old I began attending college and lived on campus. College was paid for by a combination of scholarships, grants, and student loans. After tuition, room and board, and a meal plan, the rest was given to me in a big, fat, lump sum that gave me the illusion of having wealth. The challenge was that there was no more coming. As a freshman, I opted for a full course load and elected to not have a job, so I had to live off of whatever was left. This meant I had to pace myself. Lucky for me I had become a stingy person as a result of my upbringing. By this point, I had a bank account, and was able to leverage Bank of America’s online banking to track my transactions, leaps and bounds ahead of my pencil and paper ledger from what I was a Boy Scout.

With online banking came the ability to download my transactions as an Excel sheet. I recreated the envelope system from my boyhood (the three months I actually tracked it) in Excel. I broke finances down by month – I divided how much was left over by the number of months left until my next financial aid payday next semester. From there, I had a category to track all income, another category for all my bills, itemized by the bill and expected value, a category for savings, and a category for everything else left over.

Eventually my budget became more intricate. I got a car. I got a car payment. I got a monthly insurance premium payment. Now I pay for gas. I got married. My wife and I decided to share a bank account. We had our apartment rent. Our power bill. Our Internet bill (Hulu was still free at the time, believe it or not). What this meant is that my budget had a lot more transactions. A lot more categories for different bills. And it took more time to do.

In order to make this system work, I started with an Excel download of all of my transactions from my online banking. This gave me a file with five columns, Date, Check No, Description, Debit, and Credit, with all of my transactions in chronological order. In the next sheet over in the Excel file, I’d set up a scheme, pictured above, and I would cut and paste each individual transaction (all 5 columns) into the category where it belonged, one row at a time. Then I would set up a running sum, which was all credits minus all debits for each transaction. Finally, I would have a “Left” calculation, which was everything that was left for that specific category. The goal was for me to update this Excel sheet frequently, if not daily, so I could see where I stood with my budget, and to try to stay on track.

What I had here was a bulletproof system to make sure I knew how I was spending my money and would ensure that I never overspent in any given category. This system was flawless as long as I remembered to regularly keep the Excel sheet up-to-date. Which was never. In theory, this system was going to work great for me. In practice however, there were just way too many steps to be consistent in any meaningful way. Maybe there are people out there with this amount of discipline. Heck, I have met them! But they aren’t me. Even though I had established this system, what happened instead is that I never knew where I was spending my money and always blew my budget out of the water.

What about the alternatives?

My wife wanted to try Mint. It has a free version. It automatically syncs with your bank account. Mint seems like a tool that is a solution to all my problems! Except it’s terrible. Okay, maybe terrible is too strong of an opinion. Maybe instead I could say it’s the worst. OK, OK, I guess I just personally have strong feelings about this subject.

We did try Mint, and it definitely did synchronize with our bank account, and it would even automatically categorize my transactions. But it wanted me to subscribe to its budgeting scheme. Take a look at the picture below and I’ll explain why this is a problem:

Originally from

The way it categorizes my budget is predetermined by Mint. In the example above, Gas & Fuel is a subcategory to the Auto & Transport category. Groceries and Restaurants are two different subcategories to the Food & Dining category. Home Improvement is totally separate, and falls under the Home category.

Problem #1

I don’t get to see the sum total of expenses at the supercategory level. Worse than that, I can’t set a limit at the supercategory level. In this example, the supercategory is Food & Dining. I only get to see totals and limits at the subcategory level.

Problem #2

It wants me to set individual limits at the subcategory levels. An individual limit for the Groceries subcategory, one for the Restaurants subcategory, and heck even an individual limit for Home Improvement. As if I know how much I’m going to spend on home improvement when I start each month! Or have a specific target for groceries versus restaurants! No. Even though I am interested in how much I did spend on groceries versus restaurants versus home improvement, I am more interested in how much they all add up to together. After all, my budget it based on the fact that in one pay period, I have fixed expenses, like rent and bills, and everything else left over. If I spend more in groceries, that’s less for restaurants, or clothes, or entertainment for that matter. If I spend more on restaurants, then I’ll have to spend less elsewhere. There is no point in setting an individual limit for things like clothes or entertainment. And Mint just doesn’t let me work like that.

Problem #3

It is sure of itself with its automatic categorization. Don’t get me wrong, automatic categorization is a good idea – the idea that you can always just open your budgeting app and see exactly where you stand with all of your categories and limits. But in this modern day, when Target or Walmart is the same store you buy your groceries and clothes from, I can’t just have it assume that every time it sees a Target transaction, it is automatically clothes, or a Walmart transaction is automatically groceries. And then a lot of times I go to a gas station and spend less than $10, it is because I am buying a drink and maybe a snack. Part of the reason I want to know exactly how much I spend on groceries or restaurants, and not just lump everything together in one big category, is so I can appropriately plan my budget each month. So, it becomes important to differentiate gas station, Target, and Walmart purchases appropriately. Mint is not great at that. I wish I had a little more control over it. Perhaps I would make exceptions to rules like, 1, leave all Target and Walmart transactions uncategorized, or 2, gas station purchases under $10 are categorized as food, and over $10 as gasoline. What I also don’t want happening is having Mint miscategorize my transactions, and then have me going back looking for them and finding them. In that case, I’d rather just categorize everything myself!

Where do we go now?

I definitely loved the idea of a budgeting app. And this was a kind of high priority because I need some system that I can rely on to help me not spend all of my money all the time. I couldn’t simply rely on just checking the bank account, because I had some bills on auto draft, and I would forget that they hadn’t cleared yet. Or, anytime I wrote a check for something, or used the Target Debit Card or PayPal, it wouldn’t clear my bank until a day or two later after I had spent that money. This got me into trouble over and over. I needed a more solid system. I really liked my Excel envelope-based system, but there were so many steps involved in pulling it off that I just never did it. And I couldn’t find a budgeting app that let me do that system within it. I reasoned to myself, if I could just remove a lot of the monotonous steps of the Excel method I used, and if I could just interact with this on my phone (which I always had with me), then I bet I could actually stick to it.

That’s when I came up with a new plan. I am just going to make my own budgeting app. Now before we go any further, I will admit that this idea seems preposterous. Outrageous! Ludicrous!! But it turns out that I happen to be capable of creating my own apps. Having one of my degrees in Computer Engineering, and having worked at both IBM and Toshiba doing web development, creating my own app didn’t necessarily seem like a stretch for me. Now I just had to come up with a plan.

By this point, the year was 2014, and my wife and I had just had our first child. I was on paternity leave and I was determined to gain meaningful control of my finances, so I sat down with several sheets of paper on a clipboard and started drawing it out. What the budgeting app would look like, how it would function, what features it would have, and it was all based on my Excel system that I had resolved I was going to make work. At the time, I did most of my coding for work in Java, so I got out my laptop, created a new project in Eclipse, and started trying to code away. The first thing I started with was coding logic to see if I could come up with rules to correctly automatically categorize transactions into categories based on the Excel transaction downloads that I was downloading from my online banking. And that’s where it ended.

You don’t take paternity leave to do hobbies. You’re exhausted with a newborn, and it turns out you don’t have much time beyond the responsibilities of a newborn. My paternity leave was only several weeks long, and it came and went, and though I had written some code, my budgeting app idea remained just that – an idea.

Flat on my Face

In absence of a budgeting app, I fell back to my Excel budgeting method. I was determined, I thought. I am going to make this work, I thought. My discipline with my Excel method ebbed and flowed (mostly ebbed), but just like before, I couldn’t reserve the time it took to pull this off consistently enough for it to make a meaningful difference to my finances. A lot of time, when days would go by where I didn’t update the Excel budget sheet, I would look at my bank account and say, Holy crap! Where did all the money go? So then I would download my transactions, spend time categorizing it in Excel, and then I’d know the answer. Oh. It turns out that groceries, restaurants, and clothes purchases just add up to that much. Even though I could occasionally use my Excel system to simply answer where the money went, my wife and I mostly resorted to our other budgeting method… logging in and checking the bank account. As I stated before, this is a terrible method because of how often things clear the bank that you forgot about or thought had already cleared. Because we budgeted like this, we got many punches in the face delivered to us and it could be … stressful.

The idea of creating my own budgeting app never totally left my mind, but having started writing code, I finally grasped what an enormous undertaking it would be to pull that off. Over the years following that first attempt, I decided, maybe I can just try one of the many other budgeting apps that are out there. Unlike mine, they were already built, and some of these apps were so popular, surely I could hop on the bandwagon too. As much as I wanted to budget in this specific way, it was more important to me that I just budget at all, and consistently, that I was willing to make a compromise.

I investigated several different budgeting apps available, other than Mint (which I still don’t know why is so popular…), and learned some things, and gathered feedback along the way.


Originally from

GoodBudget is the digital embodiment of the envelope system. All of your income is allocated to each envelope that you plan out, and then the goal is to spend out of each of those envelopes, and not go over. GoodBudget provides an excellent visual for how you are doing with each of your envelopes (categories), as well as a numerical comparison between the limit and how much has been spent (or how far over you have gone).

Now in 2019, GoodBudget has a bank account synchronization feature, but several years ago, when I first attempted using GoodBudget, you had to enter each transaction in manually. If you were already doing all of your spending with cash, then that doesn’t sound unreasonable (of course, if you do all your spending with cash, are you really using a smart phone to do your budgeting??). However, the idea of copying each transaction from your bank account to the app seemed way too monotonous to sustain. That was an immediate deterrent from the app right there.

Even if I would’ve had the account sync feature when I first attempted to use this app, it still wants me to budget into each of these individual subcategories/envelopes. A plus over Mint is that I get to see the totals of the supercategories, which in this case are Monthly Envelopes, Annual/Irregular and Unallocated. I don’t believe I have control over the supercategories, and that’s what I would need in order to make this app useful.


Originally from

I heard about EveryDollar and thought it seemed promising. Rather than the Envelope method, it is based on the Zero-Based method of budgeting. Starting with all your income, every dollar must be accounted for in the budget plan, even if you don’t plan on spending everything. In that case, those dollars go to savings. EveryDollar ends up being a very appropriate name for this app. Though the Envelope budgeting method is essentially a more specific implementation of the Zero-based budgeting method (because all income gets divvied to each envelope), the focus is shifted. In practice, the Zero-based method expects that categories’ limits will shift up and down slowly from their original planned amount during the pay period. So it is less concerned with sticking to a planned amount in each envelope and more concerned with accounting for the whereabouts of every dollar of income.

One of the greatest features of EveryDollar is the transaction categorizing procedure. Sounds like a boring feature, doesn’t it? But you can see this if you take a look at picture above. Each transaction that must be categorized starts at the bottom of the screen as a little bubble, with the date, the amount, and a brief description. You simply have to drag it from the bottom and let it go once you have it hovering over its destination category. It goes by so quickly! You just pop ’em each where they need to go. The app will let you know both how many transactions and the total dollar amount of all that is uncategorized.

I will get into this later, but when I originally drew out my plan for my own budgeting app, I hadn’t necessarily seen any other budgeting apps like my idea, and so I came up with my own method for how to categorize transactions. Since I planned on using my budgeting app on my phone, I would take advantage of something phones are great for that desktop and laptop computers often lack: gestures. The ability to take advantage of finger swipes and finger motions (Tinder much?) saves me from what I might have to use 17 clicks for to do on a regular computer. Even though I had come up with that design for my own imaginary budgeting app, I was really impressed by this similar feature for categorizing transactions that EveryDollar offers.

EveryDollar also gives you lots of pretty charts too, like a donut split into color-coded slices corresponding to each category, so you can see how every dollar has been spent or accounted for. Though I am interested in this information, it was merely auxiliary to my actual purpose for a budgeting app: to see where I stand with all the money I have left over after what is allotted for my fixed expenses (bills).

And as far as bills go, it is unhelpful to just have a category named “Bills” where all of my bills go. In my Excel system, I already had a spot for each bill I expected to pay, so any time there was a bill that I hadn’t paid yet, it was made very obvious by the glaring gap in the bills section of that Excel sheet. And before you mention autopay to me, there are two reasons I don’t use autopay on many of my bills. One, that would mean I trust them to bill me correctly every time. For bills like my cell phone provider, there is not a chance. I need to be able to contest that mess before money leaves my account for it. Reason two is because maybe there is a problem drafting money, because for example, let’s say it relies on my credit card, and I had to get a new credit card. (This happens all the time, either because I lost it or because my bank issues me a new card because of possible fraud protection.) Even though some companies will offer a discount to be on autopay, usually a couple bucks or like 1-2% off the bill, I’d rather take the assurance that I know how much I am paying and when it is being paid. It turns out you can put a price on that.

I spent some time trying to abandon my Excel categorized budgeting scheme (which was still more or less Zero-based) and adapting to EveryDollar’s method. I found that I wasn’t much better off than Mint, having to set limits on individual categories like Entertainment, Restaurants, Home Goods, Gasoline, etc. For me, these vary widely month to month (really, paycheck to paycheck), so the individual limits were meaningless. Alternatively, I could just have a general everything-left-over-after-bills category, which is much less granular, where I put all of my non-bill expenses. This would’ve filled the purpose of knowing where I stand with all the money left over after paying my bills, which is important, but then I would lose the granularity of knowing how much I’m spending on groceries versus entertainment versus home goods. In other words, it is also important to be able to answer the question, where did all of my money go? In the end, what I really wanted was an app that could serve both purposes: one, to show me where I stand after all my bills, and two, to show me where all of my money went. Is that too much to ask for?


I had read a lot about YNAB, which stands for You Need A Budget, and boy was that true. I did need a budget. I read a lot of reviews from the app store about YNAB, as well as online posts comparing budgeting apps, and I felt like YNAB might have a system that I could get behind.

What I came to find out as I was beginning to immerse myself in the world of YNAB is that there was an old version and a new version. The beloved old version which I had read a lot of reviews on took a freemium approach, like all of these other budgeting apps I had tried. It is free to download, but if you want to use more advanced or professional features, you had to pay, either one time or a subscription. The new version required a paid subscription to use it all. But at the time I tried it, there was no try it for a week option before you dive in (there is now). There was no longer a way to get the old version. So my only choice was to pay. I strongly considered it. I was ready to pay the equivalent-of-a-streaming-service monthly price. But I couldn’t quite pull the trigger. I couldn’t because I knew that if I were to make my own budgeting app, I wouldn’t have to pay a monthly fee. I didn’t want to pay a monthly if I knew there was an alternative where I could budget without paying. And I even recognized the possible value. Spend a little every month so I know exactly where I stand so I do not run out of money. Spend a little money so that I know that I won’t run out of it. I could’ve gotten on board.

But alas, I did not. And for that reason, I cannot provide a more in depth review of YNAB as a budgeting app. It’s possible that it could have solved my budgeting problems – without me having to write my own budgeting app. But I’ll never know, because I decided to anyway.

Fast Forward

Now we go to last August – August 2018. I think I had a few paychecks where the money vanished far faster than I expected it to, and I was fed up with it. I thought to myself, I’m finally going to go for it. By this point in my software developer career, I had become experienced with a JavaScript backend technology called NodeJS. I preferred it to Java because I could develop far more rapidly than I could with Java, with just as few errors if I was smart about it and followed some good practices. Developing fast was important, because the only time I had to do this was after work, and, well, after dinner, after some nightly cleaning, and after I put the kids to bed. This would become a late night into the early morning development endeavor, and I would have to sacrifice much sleep in order to make this happen. But I was committed, and I knew I could do it.

Rewinding back to mid 2014, I had made a few drawings of what an app like this would look like. My goal was to create an app that allowed me to categorize my transactions daily, automatically synchronizing with my bank daily too. In true budgeting app naming fashion, like GoodBudget and EveryDollar, I decided I was going to call my daily budgeting app DailyBudget, smashing two words together with a capital letter in the middle. Now in 2018, I revived the plans for DailyBudget, which were now primarily in my head, and started drawing out what this app was actually going to look like, how I was going to use it, and how it would flow from one action to the next. Below is a snippet of my design drawings.

This sketch has a lot in common with the original DailyBudget idea I had drawn on paper several years before, but ultimately my app turned out looking a lot like it appears in the sketch. Some of you may recognize that this is the program Microsoft OneNote, which is a really awesome program for sketching out ideas (and just for note taking), but it is made more awesome when your computer is touch screen and you have a stylus, which was the case here.

In my next blog post I go into more technical detail about the app, so for any of my fellow computer nerds out there, all those details about my stack are there. For everyone else, I will spare you of those details and keep this post about budgeting apps and which features do and don’t work.

The process of doing this required me to start by coding up a prototype, and making sure my sketch might actually work in reality. Once I had a design, I started by developing the back end, and once that was complete, then the front end (the part you actually see). I had to be efficient with what time I had to do this, so I made a list of each feature I wanted in the app (listed in the sketch toward the right) and went through them one by one, not moving on to another one until I could cross one off the list. I did this over the course of about three and half months, staying up late past midnight into the early morning, many nights in a row. This was a very sleepless endeavor. In order to pull this off I was up until 2:00, 3:00, sometimes even 4:00 A.M., with a little bit of sleep, and then back up at 7:00 AM when my kids would wake up and I would have to start tending to them. I would go the full day, and resume development at night. But I was in a groove, and somehow was able to push my way through this. Again, I was committed to this working.

By mid-October 2018, I had a version of the app I was able to actually start using to do my budgeting. I was so pleased that I had actually pulled it off, and I was proud of what I had created so far. And I did it without having to pay a monthly subscription. (I didn’t have to pay because I was hosting the app on my own personal server. For an app with just one single user, this was a totally reasonable solution.) As I used the app, I started to learn what did and did not work, and I would make adjustments to my design. I also identified bugs and would fix them as I found them. By mid-November, after adding a few more features and fixing some bugs, I had completed development for what I consider DailyBudget 1.0 and started getting a little more sleep every night.

Also, in the process of development, I figured I should check and sure enough, there already is an app named DailyBudget. I took a moment to review it and it takes a totally different approach to budgeting than the other apps I used or attempted to use. It has a bank synchronization feature and transaction categorizing, but its goal is to break down everything left over after fixed expenses into a per diem that you live off. It will tell you on a daily basis how much money you have left for that day. If you don’t spend it all, it rolls over into the next day. If you go over budget for that day, well, I don’t know because I didn’t actually use it. I just discovered that it exists. Ultimately, this method of budgeting isn’t helpful for me because I don’t care about my daily amount, given that I may spend $300 in one day and $20 the next. If I were single and didn’t have large grocery hauls, I think this might actually be a pretty useful tool for me. But I will admit that I have found out along this quest that not every tool is meant to be used by everybody. Some tools are good for some people, and that’s just how it works.

So in true fashion, I decided to rename the tool (the original name of the website), so there would be no copyright or trademark clashes if anyone decided to throw a cease and desist my way. Not that I thought there was even a remote chance of that happening. But after all is a completely different name than DailyBudget, so I was in the clear for this one.

How it Works

Having since spoken to many different people about how they run their budget, I have learned that there are so many different ways that people budget their money. Though many of these different methods have a lot in common, they are not all the same, and they are not the same as mine. I will summarize my budgeting approach so I can detail why my budgeting app fulfils my budgeting needs:

  • I budget each paycheck individually. This means I put more focus on budgeting how I will spend my income than what my money will look like in a given month. Fortunately for me, my regular income has always been bimonthly, so it has always worked out that budgeting two paychecks per month ends up being a monthly budget. This is also especially helpful because my bills are each due the same day every month. If I were paid just every two weeks, then I would have to adjust my approach.
  • I separate fixed expenses from everything left over. If I am paid X amount of dollars and I have to pay Y amount in bills, then everything left over, X minus Y, is what I have to spend/account for until my next paycheck. I don’t necessarily have to spend it all. I could set some aside for savings. But let’s face it, at the moment, I am doing this to help me stay on budget. Once I am consistent at that, we can revisit savings.
  • Sticking to knowing what is left over after my fixed expenses is crucial because my fixed expenses do not all clear my bank the day I get my paycheck. I cannot rely on the balance number from my online banking to know how much money I have left. Bills will clear several days after they are paid, so I instead must know where I stand relative to this “everything else left over” number.
  • Though I need to set my limit at the “everything else left over” category level, I need to have subcategories beneath that so I can account for how much I spent on groceries, how much I spent on gas, how much I ate out at restaurants, and how much I (my wife) spent on clothes. This helps me to adequately plan for future paychecks so I can make sure I am setting realistic goals. If I wish to set a limit at the subcategory level too, just as a goal to strive to meet, I can do that too. Most of the budgeting apps I investigated only had the capability of setting limits at this subcategory level. Having the ability to subcategorize my budget is crucial for me, and being able to see both totals and remaining values for both the top-level categories and the subcategories is what I need for a complete budgeting solution.
  • Sometimes there are transactions that I need to split between different categories or subcategories. Though I didn’t build a “split transaction” feature per se (many of the budgeting apps, like GoodBudget do have this feature), I did build a Virtual Transfer feature where I can “transfer” money between categories. This is helpful across the board. Sometimes I will do a combined cash deposit that is to cover expenses from different subcategories, and a Virtual Transfer will fulfill my need to spit it.
  • Other times I need to have a spot held for a check that I write. I live in a world where I still write checks, either for buying something for our kids from their school or paying a bill. One thing I have found in common with checks is that they take a while to clear. One of the biggest fatal budgeting mistakes I made in the past was not accounting for a check to clear, sometimes large. Even if I was totally conscious of how much it would be worth when I wrote it, I would often be totally caught off guard several days later when it cleared, having completely forgotten that I wrote a check. In the days of handwritten checkbook balancing, this was built into the method, but for a system that relies on digital banking and account synchronization, I have to put placeholders in a given category to sit there until it finally clears the bank so I am not caught off guard when it happens.
  • I often have reimbursable expenses. Sometimes people will front money for me for something and I will pay them back, or sometimes we will front it for people and they will pay us back. I want that tracked separately! Especially when I plan on being reimbursed within that paycheck period, I don’t want me fronting money to throw off how much I actually have remaining.
  • Ultimately, I want to take a Zero-based approach per paycheck. This means that I should account for every dollar (yes, I see it) of my income. Whatever else is left over can either be withdrawn from my checking account and deposited into my savings account, or forwarded to the next paycheck as income. This means I should be able to close out any pay period with a zero sum.

Here is a screenshot of the app using last month’s budget. Let’s talk about this for a moment.

The Name

First, since I have released it, I decided to rename it to BudgetCat, and also purchased the domain name I like the name BudgetCat more than Where did I get BudgetCat from? That evolved from the description on the site’s home page as it being The Categorized Budgeting App. One of my primary objectives for this app was to be able to have control over the categorization and subcategorization of my income and expenses.

The Look

Compared to some of the other apps we have explored, it doesn’t necessarily scream pretty. It is much more utilitarian than that. That’s because I built this thing solo late night over the span of several months. It may not scream pretty, but it is not necessarily ugly. That’s because I modeled this after the iOS menu look and feel. I did feel the need to give many of the categories little icons to visually elevate it a little bit. It has a look that is just fine while at the same time being completely functional.

The Levels of Categorization

If you look underneath the title of the app toward the top, you may notice it saying January 2019. That is the pay period’s budget we are looking at. Then you will see levels of categorization underneath. As I mentioned before, I budget by paycheck, but I am paid bimonthly, so I always budget a first half and second half each month. Not everyone does it like this, but I do. I have expanded the First Half category in this snapshot. Underneath you will notice my major categories: Payments, Bills, and Remaining. This is the embodiment of my entire budgeting strategy. I need to know what remains of my income after I pay my bills. And that is the level I need to see my total sum and the limit. Underneath Remaining are two subcategories, Gas/Groceries/Food which more or less represents needs, and Other which are usually wants. The whole premise of this is that if I spend more in one subcategory, then I have less left over for the other. But I don’t necessarily need rigid targets at the subcategory level. If I spend more in needs then there is less for wants, and vice versa.

I also have a Balance In/Out category for accounting purposes, where I can account for unspent money left over from my previous paycheck, as well as money I didn’t spend in this paycheck that was forwarded to the next check. In the snapshot above, I came in under for both Bills and Remaining at a combined $18.55, which I sent to the next paycheck as a little bit of starting income. All of this is in place so that I can zero out the entire paycheck.

Finally, you’ll see the Reimbursable category, where I have different transactions that I paid out and then was reimbursed. This category sums to zero and remains separate from all of the rest of my purchases.

The Limits

If I expand the subcategories under Remaining, then you will see each individual subcategory. These are the sort of categories I see on all of the other budgeting apps. It is important to me to know what my combined expenditures look like in each of these categories. I don’t need to set individual limits at each of these categories! I need a limit at the very top of all of this. My ability to properly categorize my budget is what gives me the ability to stick to it. Not having to set arbitrary limits for each of these categories tremendously simplifies the planning process, especially because the expenditures on the Other category (mostly wants) look wildly different from month to month.

If I wanted to set limits at each level, I have the flexibility to do so. But again, what is most important about all of this is seeing that remaining number under the Remainaing category. That number is my gold standard. Toward the top I get to see my current and available balance (these numbers can be different based on pending transactions) in my bank account. That number does not matter. The remaining number is what matters. This has saved me.

The Process

I’m not going to go into detail about everything I have to do to budget, but there are essentially two components:

  1. Planning – I do this once a month. This is where I set all of the limits for my bills and what is left over. This takes a few minutes, because some bills fluctuate, like my power and water bill, so I have to look them up. I do a little math, and I end up with my limit for Remaining, which is just Payments (Income) minus Bills.
  2. Categorizing – I do this daily. After a bank synchronization, transactions come into the Uncategorized category at the very top. I spend maybe 5 minutes every morning placing each transaction into its appropriate category.

In the snapshot below, I have expanded the Uncategorized category, and these are transactions as they appear in my online bank statements. To move them, I swipe right on the transaction, which highlights it in blue, and then I scroll down and swipe left on the category to place it.

This may sound tedious, but there are seldom more than 15 transactions to categorize in one day, depending on how many bills cleared and how many times I swiped my debit card. The one feature that saves me is my ability to repeat the last transaction move I just made for other transactions. If I swipe left instead of right on a transaction, I get a few options, one of them being to Repeat Last Move.

This way I can pick off the one Groceries transaction and place it, and then just find all of the other Groceries transactions and repeat where they go. It speeds up the process.

I also find it very handy to add comments to transactions, which is another option available from this list of options. Especially for things like Walmart, Target, and Amazon purchases, which could be any mixture of groceries, clothes, and other various accessories.

I never built a feature to automatically categorize transactions, but it would not be hard to do. I personally just like having precise control over where these transactions are categorized, and so far, this app was built for only one person. Me. So my suggestions win.

During development of this app, once I started using it, I came across this problem I would have where one day, my bank account balance would be much lower than it was the day before. I would think to myself, well what was the balance the day before? And how did it go down so fast? That question was hard to answer the way I had built it, so I added a feature to see the ledger of transactions as if I were looking at an actual bank statement.

This gives me a quick view of all of my transactions, how they are categorized, and what my account balance looks like after each. This also gives me the ability to search all of my transactions quickly too, something that has saved me already so far. From the one of the options in the previous snapshot, I can go straight to any transaction in context of the ledger.

Now when I want to know where all my money went, I can just expand the category, see all of the transactions, and say, Shoot! I guess that really just adds up!

The Flexibilities and Limitations

My goal for this app was to be able to budget per paycheck, which comes at regular intervals. However, there is nothing in this app that mandates when that is. This could be used to budget pay that is weekly or biweekly. This could be used to budget inconsistent intervals. If you were a crazy person, you could opt to not sync with a bank at all, and just enter in all of your transactions manually (as placeholder transactions). But however you decide to budget, this app is geared toward having a zero sum budget.

Like the EveryDollar app, the general purpose of categories and subcategories is that you will have some income categories and some expenditure categories, and that they all sum to zero, having every dollar accounted for as a transaction.

Unlike the GoodBudget app, this was not designed to show a running category present in every pay period. In GoodBudget, that is the Annual Expenses category, shown the same every month. There are many budgeting apps that help track a running sum, usually a savings for a particular item like a new TV or a trip somewhere, and target you putting a little money away for it each pay period. In these apps, the money hasn’t physically been moved out of that account to a separate account, rather, it is just tracked separately. Though you could technically accomplish this in BudgetCat, it is not designed for that. That is primarily because that is not how I operate, which itself is primarily because I am not disciplined enough for that. If I actually want to save money for something, I need to move it somewhere else, usually to a different account, like a savings account. Me moving that money would show up as a withdrawal transaction in BudgetCat, which I would likely categorize in a Savings category. In that case, this app wouldn’t show me how far I have gotten toward my savings goal. I would need to leave the app and go check my savings account for that.

As far as separate accounts go, I have learned that many people track their expenses across many different accounts. Sometimes they have two checking accounts for slightly different purposes, or sometimes they have three different credit cards and are trying to spend money on each credit card for the points and then immediately pay them off so they don’t accrue extra interest charges. In those cases, you have many transactions to track across different accounts. What shows up in one account as many individual transactions on a credit card shows up in another account as one big lump sum payment to pay those expenses off.

BudgetCat does allow me to have different accounts, all with the ability to synchronize to their respective online financial institutions, but I have to switch between them. This means I have to interact with each account independently, and completely switch away from one to be able to interact with the other. This further means that I cannot have one category across different accounts. I have entertained the idea of being able to interleave transactions from multiple accounts into one budget, but I have not yet been convinced that this would enable a better user experience. After all, version 1.0 was built for me to budget my family’s money, so I put in the features most helpful for me.

Now That We Have Arrived

I have now been using my budgeting app for a little over four months. In the first month, from mid-October to mid-November, is when I added some of the last helpful features that I thought were missing having actually used the app. The whole goal of the app (and the reason it was originally named DailyBudget) was that I needed to budget my expenses daily because when I tried budgeting with my original Excel method, it only happened twice a month at best. Now that I had an app on my smart phone, I had access to budget (categorize) my expenses on a daily basis. This was something I stuck to. In the beginning…

I started to drop off in mid-December when I had a lot of different online transactions buying presents for my family and kids for Christmas. I would go to open the app to do my daily categorization, and it would seem like a lot for the moment, so I would put it off for later. Then when later came, and there were even more transactions to categorize piled on top of the ones that I put off. This snowballed and then I would decide that I couldn’t spend time in the budgeting app unless I could dedicate 30 minutes to categorizing. Meanwhile, I no longer have visibility to the magic Remaining number that this entire system is designed to expose. Without real time line-of-sight to this number, my spending habits were no longer being influenced by my budget, or in other words, my spending wasn’t being reigned in. This caused me to blow past my budgeted limits, which meant I was dipping into savings to make up the difference.

In reality, this is what had been happening since I started using the app in October. In a way that I couldn’t see before I had the app, now I knew where my money was going. I wasn’t necessarily doing anything about it, but at least I knew where it was going. It was actually really interesting to see this new information. In the past, before I had a stable budgeting system, I’d look at my bank account balance online four days into the paycheck and think, Alright, we’re on a good pace. Then, ten days into the paycheck, I’d check the bank account balance again and think, Crap! That disappeared quick! Where did it go? Well now I knew!

One of the features that I built in was the ability to share an account. I originally wanted my wife to login on a regular basis and check the Remaining number to know where we stood. Well, she didn’t. That was a battle I wasn’t going to win. And with only half of our bank account’s spending representation knowing how much we actually had left, that Remaining number didn’t wield any power. What I realized I needed to do was make this information tremendously more concise and accessible to my wife. Rather than making her come to it, I brought it to her. I added one final feature that sent her a text daily to say, Hey! This is how much there is left!

At first, my wife just ignored the text. She didn’t love the buzz kill of a budget referee checking in daily. In reality, this takes some getting used to, especially if it has been a long time since you had a real-time check and balance like this in your life. I’m not going to lie, this was hard for me too. It wasn’t just my wife. What this means is that you actually have to choose not to buy some thing that you want, or go out to a restaurant, or do some activity. And I’m not talking about crazy expenses like $200 dresses or $500 trips. I’m talking about $20 here, $30 there. Those little things add up! Getting the app to actually influence our spending is like creating any other habit. It takes time and discipline. Ooh, there is a real adult word there. Discipline. But discipline is the same thing required to be successful in any goal, such as waking up early to exercise, using an app to learn a new language, or learning to play a musical instrument.

Now we are in the first full week of March, and I can successfully say that we have gotten a system down. What it takes is that I have to budget first thing in the morning. It has to be first thing, because if I wait, then other shopping can happen early enough in the day before knowing exactly where we stand. In actuality, I have committed myself to budgeting on the john. That’s right. I go to the bathroom first thing in the morning after I wake up and get out of bed. Don’t lie, you probably do too. I’m just being honest about it. Usually in the bathroom, as soon as I sit down, I pull my phone out. Well, if I’m already on my phone, then certainly I can categorize a few transactions. I made myself promise to me that I can’t open any other apps before I budget. No email, no Facebook, Instagram, no. Not even the Weather app. This has to be first. That is incentive for me to actually get it done. Because who doesn’t love a good social media endorphin hit?

It may have only been one month of actually sticking to a budget, but since I have been budgeting and categorizing with the app first thing in the morning, then I know where we stand the rest of the day. And my wife gets a text and knows too. And in fact, we have had to say no to buying things, or going out to eat on some days. But, you just start to get used to it. That is how the system works. As lousy as it is to have to say no to things you want, or to return things to Target that were maybe an impulse buy, there is a satisfying amount of relief that comes from knowing exactly where you stand. From conceiving the idea in 2014 to actually living it in 2019, I am overjoyed to know that I was finally able to find a system to help my family stick to a budget.


2 Responses

  1. Hi, i read your blog from time to time and i own a similar one and i was just curious if you get a
    lot of spam feedback? If so how do you reduce it, any plugin or anything you can suggest?
    I get so much lately it’s driving me crazy so any assistance is very much appreciated.

Leave a Reply

Your email address will not be published. Required fields are marked *