Like most people, when I turned 30 I came to a very stark realization: that my time on this planet is limited. Good lord, how terrifying. The immediate changes I started to make in my life:
- I increased my hourly rate for freelance work…by quite a bit.
- I’m much more selective about the video games I’ll try, and am much faster to abandon games that don’t capture me in the first couple of hours
- If I can pay to have someone else do some time-consuming thing, I probably will, within reason
The overall theme here: every minute has become more valuable.
So why would I build my own financial tracker, when there are at least dozens – if not hundreds – of apps already built?
TL;DR: Because none of them behave the way I do, nor use the technology I want to leverage.
How I Track Finances
This section is about the failings of existing apps to allow me, the user, to work the way I need to work. If you’re not interested, feel free to skip to the technology discussion.
I’ve had a lot of trouble over the years with finding successful ways to track my spending. My wife is a huge fan of a particular set of YouTube videos that explain breaking up your spending/saving into different categories. I tried it; it fell apart for me within 3 weeks. Since then we’ve tried quite a few strategies that we could wrap our heads around. None of them worked.
The only strategy that ever did was what I tried in grad school. I didn’t know it at the time, but I had created what amounts to a burndown chart in Excel, and tracked my actual spending progress against a projected trend line. Pretty much what you’d want in a burndown, right? You’re probably used to seeing this in Rally or some other work-tracking tool; but I’m told it’s really common in startup finances – tracking how much money is and can be spent between fundraising rounds.
I tend to forget how much I’ve spent, even in the same day that I’ve spent it. Call it stupidity; call it a hyper-active brain; call it whatever. But having an app that displays – on any given day – where I’m at in my budget in relation to where I should be seemed to be the way to go.
And you’d think that there are already apps out there that do this. They do a lot, don’t get me wrong. But they don’t do what I needed them to do. I won’t go into details about which problems came with which apps. I don’t want to badmouth other dev teams’ accomplishments. But I’ll say that my frustration hit pretty quickly with a lot of the bigger names in budget tracking that are purported to help a lot of people track their spending. I don’t doubt that they do, in fact, help a lot of people. But they weren’t able to help me, for the reasons below.
One thing I really hated about the financial tracker apps that I tried – and mind you, I didn’t try all of them – was that at the end of every month, regardless of whether or not I was above or below my allotted spending, spending limits were automatically reset to the same amount every time. The problem is that money doesn’t work that way. You can’t overspend an account and expect to have the normal spending limit apply, just as if you hadn’t overspent. You have to build back up to it as you pay off that overspending.
Paychecks aren’t monthly
I had a lot of frustrations with the way that finance apps tracked by the calendar month, and not the paycheck month. I receive two paychecks a month, and never on the 1st or 31st of the month. So if I’m tracking finances by the calendar, my numbers will never line up correctly. That becomes even more-so the case when a month has a third paycheck. It may give me flexibility to spend more that my app doesn’t know about; or it may force me to extend my paycheck month from 4 weeks to 6, if I intend to put that money into savings. That logic could be calculated; but none of the apps I tried even attempted.
There is no “medicine budget”
Many of the financial apps I tried wanted all of my potential flexible spending to fall into sub-budgets, categorized along certain lines. I can understand that; I’ve tried that way before. I abandoned it, though, when I realized that there’s no way to predict how much you’ll spend on many of the things that pop up in day-to-day life. If I had to categorize all of my theoretical spending, how much should I have put down as my spending limit for emergencies? What do I do if those emergencies cost more than my budget? Is the assumption that I’ll pull from savings? Or can I re-allocate from other sub-budgets? Many of the apps I tried didn’t have that answer.
AI doesn’t know
The financial app I stuck with the longest ended up forcing me to do a lot of manual correction. The AI embedded in its auto-assignment of expenditures to budgets was close to never right. On top of that, I tend to use the same card for everything – fixed costs and fluid costs. So when I established a spending amount for fluid costs, and a fixed cost would show up, it would treat it as a fluid cost and count it against one of my fluid spending budgets. That’s not right. So I’d have to log back in, and do more correction. It would have been easier for me to just enter it in myself in the first place, and not have to dig every other night for incorrect assignments.
I want to be able to get work done the way I need to get it done. That’s not going to change, regardless of what that work applies to. An app should make it easier for me to do that, not harder. It should enhance the way I work – either removing steps in my process to help me work faster, or changing my process so that I get better results, faster results, or both. I wrote about this over the summer. The problems I’ve laid out above point to how none of the apps I tried accomplished that.
The need is still there. I still need to track my spending better. But unfortunately none of the apps out there fill that need in a way that helps instead of hinders.
Where I Track Finances
This is where the conversation gets fun. In the traditional sense, there’s an obvious go-to that this could be a web app. That’s doable, but it’s not really where I do my finances. And more importantly, it’s not where I want to. Many of the existing solutions would agree, which is why they tend to exist as mobile apps. Like many people, I don’t always spend money in front of my laptop. I do it on the go.
Give me widgets!
One of the things I’d like to see is a quick display of how my spending is tracking, so that I can make smart choices at the decision point. If someone at work asks me if I want to grab lunch instead of eating the lunch I brought, I want to be able to check quickly to see if I have room for that expenditure. I don’t want to have to open my phone and log in before I find out. The lunch group – already on their way out, some maybe even already at the elevator – shouldn’t have to wait.
So to that end, I want to be able to get the stats from my locked phone, just like I can get the weather, get the news, etc. Those widgets can go a long way for getting quick information.
It’s a bummer that we still live in a world where it’s generally assumed that you’ll be connected at all times. Life doesn’t always work out that way. There are plenty of backing technologies that allow entire offline flows of data (e.g. Firebase, Couchbase, Realm). If life doesn’t always work out that way, then our technology need to be flexible enough to handle that.
It may sound like an unnecessary thing to ask for. And each user’s experience with offline functionality is going to be different. But when you need it, and it’s not there, it sucks.
Alexa, add an expense for $10
Since buying a few Echo Dots, my life at home has become a lot more vocal. Talking to Alexa is UI that I never expected to love as much as I do. To that end, simple actions like communicating a few field values to a database, have become much more mundane when doing it with my thumb. Wouldn’t it be nice to be able to tell Alexa that I spent a certain amount, and have it do the rest for me?
In my experience, some of the apps I’ve tried have widgets or offline capability. But then their workflows don’t match what I need. In order to gain one aspect, I have to trade off another. It’s not great. So maybe I’ll build it myself and it can have all of those things.
But, aren’t you an architect?
Yes, and definitely no longer a developer. But in being an architect, part of my job is to become familiar with various technologies so that I have an up-to-date understanding of solutioning options. If I never explore voice interface, or the many ways to handle offline, I’ll never know how they fit into the systems I help design. Or in some cases even consider them as possibilities.
When I Track Finances
Finally we’ve reached the pivotal point of why financial apps haven’t worked out for me. Most of the big financial apps have direct integration to bank accounts, which is a nice feature. Additionally, they have manual entry. Let’s put a tack in that and focus on the bank integration first.
Banks, for whatever reason, still have quite a bit of lag in their processes. A bar might authorize you for a $30 tab, but then close you out on the $10 you actually spend. For the entirety of time between the authorization being registered, and the final charge showing up in your account, the $30 is what will show as the pending charge, not the $10.
You might write a check (because yes, some of us still do that), and mail it off. That money should be treated as spent; yet a bank account won’t reflect it until it arrives and the recipient deposits/cashes it. That could be a while. And that entire time your account (and thus your synced app) won’t reflect it.
I track spending in real time. You probably do too. Until we get to a place where banks have no lag, or points-of-sale allow for subscriber integration (which, FYI, Amazon does), the best source of truth for real-time tracking is myself. If entering a transaction can be as seamless as possible, then I’m able to always keep my app up to date with my spending.
So if my best bet for now is to manually enter, then I’m probably error prone, right? This is where bank integration becomes essential. Ideally, anything I enter into the database should be checked against charges that actually do appear in my bank account. Back in the day, this was known as “balancing your checking account”. In an automated world, the app would compare charges I’ve entered, and compare them to charges that show up, trying to make one-to-one matches. Any discrepancies should require a user action, such as a selection of which version to accept, or whether the user wants to dismiss a charge. Going back to the examples above, this might be a fixed expense that the user doesn’t want to track against fluid expense tracking.
It’s simple. I need something to track my spending in real time. If the best way to do that (right now) is to enter expenses in manually, then I can handle that. An app should make it as easy as possible to do so. But it should also leverage a real source of truth to check my work. This smacks of an eventually consistent system.
And So, I Build My Own
It probably won’t be the best finance app out there. But it’ll be mine. And it’ll do what I need it to do. Plus I’ll get to experiment with some new stuff! If I get to the point where I start to offer it commercially, we’ll see if someone else finds it as useful as I do. Although honestly, that part isn’t important. What’s important is that I meet my own need. If I meet someone else’s, then great; that’s fine too.
So what do you think? Do you find yourself tempted to build your own app when what’s on the market just won’t cut it?