DEV Community

Discussion on: I'm working on an Expense Tracking App and I need your feedback

Collapse
 
explorer14 profile image
Aman Agrawal

As someone who's worked on a personal expense tracking app for the last 17 years on and off (starting with a VB6 app + MS Access database in 2005 all the way to cloud hosted + REST API + mobile app + SPA frontend 2022), mostly as a way to practice the craft of software engineering and programming and try out various principles and techniques, my suggestion would be to keep it really simple (assuming you have the same reason to build this as I did). Expense tracking is not the same as personal finance management, the former is literally only about creating monthly budgets, a few basic expense categories and recording your dated expenses against those categories. The latter is more advanced: importing and exporting data from various other systems, integrations with banks, payment systems and various other sources of income, rich analytics dashboards, predictive analysis to plan your longer term financial goals and tracking your progress.

You can certainly opt to build the more advanced stuff, but you don't have to. You will have challenges integrating with a bank using their APIs (assuming your bank provides one) as an individual, these services are offered to authorised financial institutions only. As nice as it is to have your bank send you a web hook anytime you make a card payment so that you won't have to manually enter it into your app, it might be a bridge too far for individual devs like you and me who are not registered financial institutions. If someone knows the contrary, please let me know 😀

So, from an analytics perspective you really only need to track how much your total income was in a month, how much did you spend of that amount in total that month and how much is your savings at the end of the month. You will have to be diligent about tracking every expense, otherwise, your grand total savings will not reflect reality at all. Small cash expenses have a way of falling through the cracks so be particular with those. That's in essence all you need. You can add nice graphs to see how your month-on-month or year-on-year income vs savings change, could be useful to visualise that.

In my system I added a couple of constraints for e.g. once a budget period is closed, I can't add any more expenses to it. I can only add it to the next period, its money, so in the end it will all balance out. I also don't modify an expense, if I make a mistake I simply reverse that expense and then add the corrected one. This gives me a nice log of all the activities and at the end of the month I can simply total up all my expenses to calculate my savings (kinda like event sourcing, but not really).

Hope this helps.

Collapse
 
pavelkeyzik profile image
Pavel Keyzik

Wow… Thanks Aman ❤️ I didn’t expect comment like this one when somebody talk about their experiences. I really appreciate that and your thoughts are something I’m going to think about a lot 😍