Disclaimer: This post is an in-depth explainer/tutorial. It's technical in nature, and designed to be followed - but the philosophy and reasoning behind it are beneficial whether you build this thing or not. I'd also classify myself as an 'amateur tinkerer' at best, so take everything I say with a grain of salt...so obviously, this is not financial advice. Thanks!
In 2021, I moved out. As part of this increase in responsibility and independence, I've had to monitor and manage my finances more than ever before.
As part of that, I want to become more intentional with my spending. And step 1 is to become more aware of it.
In this day and age, the advent of EFTPOS, digital wallets and tap-and-go means it's easier than ever to spend. Compare this to the days of exchanging cold, hard cash out of your wallet and into theirs. It just felt more like spending.
And that's an issue.
Don't get me wrong - the tech isn't the issue. It's our habits around spending (and being aware of our spending) that could do with some improvement.
Sure, you get a spending notification, or a transaction list in a mobile app, but they are both easy to let slip away - out of sight, out of mind.
With all that in mind, I set off and did what any normal bank customer would do - use my bank's API and build my own tech to fix it.
My solution is pretty simple. At a high level:
- It gets transaction data from my bank every time I buy something
- It puts that data into a database (which I can view in different ways)
- I can then add that feed into my calendar so I can see when I'm spending each day
It's fantastic for me because I see spending in the context of what I was doing that day. It's great for picking up bad morning coffee habits, Wednesday sushi cravings, (extra) long dinners and more. Stuff I don't "need" but still get.
It puts my spending front and centre, right where I'm reflecting on my days and planning my weeks. You can't hide from the $$.
I can have all my spending on my calendar, although I've chosen to just include the "Good Life" - food, drinks, shopping etc. (where I need the most help with).
So that's the reasoning behind it. Let's jump in and build it.
Up API - the data
The bank I'm with is called Up. It's a Melbourne-based, mobile-first bank working under Bendigo Bank. They have a great product for spending and saving, and have some very good spending insights baked into the app.
But luckily, if you want to take that further, they have the Up API.
It's a beta release that gives you "programmatic access to your balances and transaction data. You can request past transactions or set up webhooks to receive real time events when new transactions hit your account."
The first phase of the API is designed to give you (and only you) access to your personal data.
Eventually, we'll be able to build applications for other users (like you), but for now, it's personal.
If you're not using Up already, you can either 1) sign up in 5 minutes, or 2) enjoy the rest of this tutorial without implementing. Either is good!
Once you're using Up, head here to get your personal access token for the API.
1. Postman - basics of APIs and webhooks
I'm using a platform called Postman to visually interface with the Up API. I've made up a template so you can get started right away.
2. Airtable - the database
This is where the transactions will "go" and what will generate the feed you can add to your Calendar. You should be able to get away with a free account.
3. Integromat - connecting
Pulling it all together. This is the most complex part of the process, and requires a bit of technical know-how. But I walk through the process from start to finish, so feel free to slow down / pause the video at certain steps if that helps.
Done! Hopefully. Now go out and grab your favourite drink or snack - you've earned it.
Back to the Why
This was an experiment for me. To see if it would help me become more aware of my spending. So far, it's worked.
But it's all to do with how you personally use your calendar (ie. how often you look at it, review back on the week already etc.).
If you have any issues setting this up, or done something even cooler with this idea, please let me know. I want to make sure this works for you, and I'd love to hear what you ended up building.
I'd really appreciate you sharing it with a friend that might like this, too.
Kai Lovel Newsletter
Sign up for free to access the entire library & get updated on my future work.