DEV Community

Pavel Keyzik
Pavel Keyzik

Posted on • Edited on

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

Hey guys! Currently I'm work on a project that's going to help me track all of my expenses. I'm going to keep it as much as simple, but I'd love to hear from you any ideas, that can be implemented and be useful.

My plan is to build app with:

  1. Clean and easy to use interface
  2. An ability to add, remove, and navigate between records without using a mouse
  3. Analytics by each month started from Salary day

If you wonder how it looks like right now then here it is. This is just a Home Page

Image description

Updated

Here is the link to video of the app in action: https://twitter.com/pavelkeyzik/status/1530310015684329473

Top comments (32)

Collapse
 
ktxxt profile image
Darko Riđić • Edited

From a financial standpoint you should have 5 budgets which your income divides into.

  1. Long term savings Savings - 10% Never touch it unless an accident, car fix, ...
  2. Self-investing - 10% Courses, knowledge, books, ...
  3. Fun - 10% Clothes, drinks, sweets, ...
  4. Financial Freedom - 10% Crypto, stocks, ...
  5. Necessities - 55% Gas, Bills, Food, ...

And live only from 5th budget

Collapse
 
pavelkeyzik profile image
Pavel Keyzik

I was thinking about making pages with the same page as Home, but let's say first will be "Personal" and second will be "My Startup". The idea to split income in budgets seems to be pretty great and I think I might think how to implement this v2, as for the first version I'd like to have something simple. Thank you for your comment, it's really really great idea 👍

Collapse
 
ktxxt profile image
Darko Riđić

When you implement it, ping me here. I'd like to use it since I've been tracking my finances trough Google Excel in the mentioned way with budgets.

Nice work so far! :D

Thread Thread
 
pavelkeyzik profile image
Pavel Keyzik

Thank you 😊

Collapse
 
hamid2117 profile image
Hamid • Edited

Long term savings Savings - 5% Never touch it unless an accident, car fix, ...
Self-investing - 10% Courses, knowledge, books, ...
Fun - 5% Clothes, drinks, sweets, ...
Financial Freedom - 5% Crypto, stocks, ...
charity - 15% be a giver to needy person, relatives and helping someone...
Necessities - 50% Gas, Bills, Food, ...
And live only from 5th budget

Collapse
 
ktxxt profile image
Darko Riđić

Yeah, that's a lot better for sure. However, the whole point is to be financially aware of one's spendings, and trough out two-three months, one can master his finances and short-term cravings.

As it is very human to help others, the "Charity" budget should be low in beginning and grow as you grow your wealth. Depending on the situation.

Poor people exist because of many reasons. Some don't know how to manage their money, some become poor because of unfortunate accidents, etc. In my opinion, you should invest as much as possible, and later on help people with the accumulated money. And most importantly, after helping them, teach them how to manage it, grow their own vegetables, etc.

Collapse
 
hyggedev profile image
Chris Hansen

Great advice

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 😍

Collapse
 
jonstrayer profile image
Jon Strayer

I'd recommend that you first.produce a minimum viable product and do it in a spreadsheet.

That would allow you to determine what data you really want to collect and what reports you want to generate with very little coding cost.

Collapse
 
pavelkeyzik profile image
Pavel Keyzik

Thanks, Jon! Yeah! I've done this already by tracking everything using Google Sheets, and realized that I don't need a lot, but it'll be easier to have web application with one input, rather than doing this in Google Sheets, and I also want something more accessible from mobile 😊 I love your suggestion and it's definitely right path to start somewhere 👍

Collapse
 
fiificode profile image
Franklin Mensah

Nice work so far. I'm suggesting you make the home page have the summary /preview of your total expenses.

Collapse
 
pavelkeyzik profile image
Pavel Keyzik

That's really great idea, I haven't though yet what to show, but I totally agree it will be useful 👍

Some possible solutions:

  1. Total Expenses for current month
  2. Show how much I can spend today, let's say we have some limit per day, like 30$ and today I already spent 5$, so I can show something like "You have 25$ for today"
Collapse
 
savandy profile image
savANDY

It's looking great for now. I like the simplicity.

I wonder if nowadays is possible to connect to a bank account / credit card and get the summary of your expenses every day / hour.

I believe this is possible because I've seen some app doing it but I didn't trust it enough to try.

Collapse
 
pavelkeyzik profile image
Pavel Keyzik

I think it's not that easy to get an approve from banks 🤔 I've tried to use some app with connect to a bank account and for me it was hard to keep in mind, that sometimes I spend cash and I always forget about this part, as you should do this manually. And what about the things like when you go shopping and bought some sweets and something for your house in one place. It'll be just one expense, but manually you can split this as you want. And it also easier to me to just have a habit to track your money every day, rather than tracking something automatically, and something not. Overall, the idea with connecting to a bank account looks really cool

Collapse
 
nceedee profile image
N Cee Dee

Nice work... Maybe when you done .. you let us know💪

Collapse
 
pavelkeyzik profile image
Pavel Keyzik

Thank you. I hope it will have release someday 😂 A lot of thing to learn

Collapse
 
nceedee profile image
N Cee Dee

LoL... 😂...
Definitely... ..

Jxt catch up with tutorials and it will b accomplished.😏

Thread Thread
 
pavelkeyzik profile image
Pavel Keyzik

Sure 😄

Thread Thread
 
nceedee profile image
N Cee Dee

Goodluck man.

Thread Thread
 
pavelkeyzik profile image
Pavel Keyzik

Thank you ❤️

Collapse
 
linusfm profile image
Linus F. Müller

Are you planning on implementing analytics? You could for example have one graph that shows the expenses per month over the past year. Another option would be to have product groups. So you could show what the biggest expense was.

Collapse
 
pavelkeyzik profile image
Pavel Keyzik

I do have plans to implement some analytics. It's definitely helpful to have something. According to products groups, in my case it's category, but maybe in the future I'll change it to something else 😊 Good point

Collapse
 
medofayed profile image
Medo

I am trying the same using Django.. Made no progress yet!

Collapse
 
pavelkeyzik profile image
Pavel Keyzik

That's okay. It's not my first time trying to finish this one. And nobody knows how far I'm going to go this time 😄

Collapse
 
bacloud22 profile image
aben

nice design !

Collapse
 
pavelkeyzik profile image
Pavel Keyzik

Thanks! I hope it won't change a lot, but from time to time I still update little things because I feel that something is not convenient as it can be 😄

Collapse
 
hyggedev profile image
Chris Hansen

The UI looks awesome. I love the design, and the tiny icons aesthetic. Hope it turns out exactly the way you imagine.

Collapse
 
pavelkeyzik profile image
Pavel Keyzik

I'm pretty sure the UI will be changed, but I hope that changes will be in order to improve the experience. I already have prototype to add Expense in much simpler way (I think) 😄 Anyway, thank you for support. It's much easier to do something when you see feedback ❤️