Personal finance management is a crucial aspect of our lives, yet it's something that many people struggle with. Keeping track of our expenses and staying within our budget can be a daunting task, especially when we have multiple sources of income and various ways of making payments. That's where a personal finance management app comes in. In this article, we'll be discussing a Personal Money Management App that can help you manage your finances more effectively.
The Personal Money Management App is designed to help you manage your personal finance through expense tracking. The app allows you to categorize your expenses and show your current balance in each category. This way, you can make better decisions about your personal finances.
The Personal Money Management App (FinCat) operates on the principle of measuring and managing your expenses.
I start with a quote from a management guru Peter Drucker once said,
In other words, we need to first measure our expenses before we can effectively manage them.
So, We divide the problem into Measuring and then Managing :
To measure our expenses, we need to record every transaction or record of money we spend. In the past, people used pen and paper or Excel sheets to track their expenses. While Excel sheets are useful for tracking expenses, they can be time-consuming and require discipline. This is where digital tracking apps come in.
Digital tracking apps are a great way to track expenses because they eliminate the need for manual data entry, they can pickup data from your SMS and update the record. However, the problem with digital tracker is that there are many ways to do payments like online transactions, credit cards, debit cards, and cash payments and also more than one bank account. It can be hard to track every transaction from different payment methods.
One solution is to use a credit card or prepaid card for all expenses. This way, you can track all your expenses in a single card and keep track of them easily. Another option is to use third-party cards like Slice or One Card, which provide a dashboard for tracking expenses. However, doing all our transaction through one card is very rare.
Another better possible solution for the online payments is to get an API from banks for accessing your transactions . Then we can use this API to store data in our database and categorize each transaction, This solution solves the issue of measuring transactions from different payment methods. Unfortunately, banks don't always provide APIs for accessing their transactions. This is where Open Banking APIs and other types of banks like Neo Banks come in. But, it's not accessible for every individual that's why I'm going into this.
Some app gives feature of Scanning your bills, and that app will take care of your tracking transaction manually, put expenses into right category just click a picture of your bills. It's also a good possible solution rather than entering manually if your all expenses comes in a recipt form. But, In my local market and shops they don't have their billing system. So, I have to find another way.
Also, We want reports from expense tracker app.
A good personal finance management app should be able to provide answers to common queries like :
- Show all transactions that I made this month and how much I spent on each category.
- Give spends amounts and percentage on different categories like foods, house rent, bills, savings, etc.
- Give me some reports regarding how much I saved or invested last month/year.
The solution to measuring expenses is to use credit cards/prepaid cards for tracking online transactions. Other than that, we need to put our expenses manually in our app. Over time, we can improve this process to make it more frictionless.( We can do sms reading, we any bank provide APIs for that, we can Integrate it)
What's wrong with our method of managing money, I think we are good at managing money by default, but there some circumstances or situation comes and then we overspend or impulse buys something that we got influenced by some product in a market place. At the time of buying stuff we directly see the main balance of our bank account, if bank balance is sufficient then we buy directly. However, that current balance is reserve for some other things also but we don't remember at the time of buying because we are in state of influence by that product.
To solve this problem, we can manage our expenses through the Personal Money Management App with the help of a categorization process. In our app, we can categorize expenses and provide users with an abstracted view of their current balances of each category. When a user tries to spend on something, we can show them their current balance of that category.
This is not the best way to solve the issue, but it can work for most of the people. I also read a lot about personal finance there is a method called "Cash Stuffing " that work on a principle of categorization into an envelop and It's works for most of the people. so, our app can also works too.
If I can put this into diagram, It could look something like this :
Now, it's time for the fun part - we're going to start building it! Yeahh.
We start with a very basic three tier architecture, we have frontend with NextJs, backend with Node and for Database we have mongodb.we create a REST Api for all CRUD part and our frontend will consurme these APIs.
We can create a baisc data modeling for our app that includes User for storing details of user, UserAccount for storing total income and categories Id and last categories for storing array of Category that includes deatils of name, value in %age of total Income, current Balance,etc.
User Flow Diagram gives the idea how users interact to our app, first he goes to Login screen, If he not signed in then go to Sign Up page and register yourself. Then create an account through onboarding page and then go to dashboard.
We can now see how our app look and feel in the following point.
We start our app with Sign In screen, If we don't Sign Up then we have to Sign Up first. Then, It will redirect to Dashboard.
We now see the Dashboard Page but we don't onboarded yet or we don't have account.
In the onboarding page, we have to Input our total Income(25000) and we can create categorization with percent(%) of total income, here we create Needs, Wants and Savings & Investing with 50/30/20 rule.
Now, after onboarding we get back to dashboard and each category has own current balance.
We now add expenses of 2000 in Needs category and 3000 in Saving & Investing category.
We now have current balance of each category after adding expenses.
Thanks a lot if you are still reading, It's quite a long but I like to write details about how the app should work.
The app is still in experimenting phase, we can add more features on it. If you want to try the app you can go to the top of the page and click on "View Site". It may feel like buggy or some error may come.