Budget Notify – Part 1

This is the start of a series of posts as I build out a new project called "Budget Notify". I don’t know how many posts this will take, when it will be finished, or even how often I’ll post an update. I’m going to be learning some new tech during this project, so it seems like a good project to write about – both for my benefit as well as anyone getting started with this same tech.

For today, I thought I’d share a little background on what the project is and why I’m working on it. I plan to get more into the technical side in future posts.

What is Budget Notify?

Budget Notify is a service that monitors your budget and triggers notifications based on various conditions.

Why would I need something like this?

If you’re the main budgeter in your household (or you are the household), then you don’t need a service like this – at least not for yourself. If you have a budget shared by the family, but the rest of the family isn’t as interested in checking the budget like you are, then this can help. If you set a budget for dining out that applies to the whole family, but no one else looks at that budget category before they place an order, the budget isn’t exactly helping.

With Budget Notify, you can set up notifications so if someone picks up Taco Bell on the way home from work, everyone else is notified that the available dining out funds are a bit lower. A notification like this helps people visualize how much is being spent and how much can still be spent on key budget categories. Budget Notify makes it as frictionless as possible to keep everyone aware of your budget.

How does the service know what the "budget" is?

For now, the focus is specifically on YNAB budgets. If you use YouNeedABudget.com, then your budget will work with Budget Notify. In the future, other budgeting systems may be supported, but for two, it’s YNAB only. Why? Well, two good reasons. First, I personally use YNAB so that’s what I need. Second, YNAB has a nice API that makes querying budget data simple.

What’s the new tech stack?

AWS Amplify w/ GraphQL & React. This may be old hat to you, but it’s brand new for me. I’ve written web apps for years, but not with React. I’ve seen GraphQL many times at conferences, but never tried to implement it in a real project. I’ve worked on Azure, but barely touched AWS outside of a few Alexa lamdas and general EC2/S3 usage, so Amplify is going to be all new.

Why use a new (to you) tech stack?

I’ve started this project a couple of times using the tech stack I know – .NET/C# for the code, SQL Server or Postgres for the DB, and a regular Linux VM for the manually maintained server. The reason for Amplify this time is I’m going to need some Amplify experience for my day job in the next 3-6 months. I learn a new tech stack better when I have a specific usage in mind, and this has such a narrow scope (and no specific timeline) that it’ll be a great learning project.