mohit / expense tracking system
Expense Tracking System
A categorised spending tracker.
You pay rent, buy lunch, order something you didn't need, and a month later your balance is lower than you expected. You scroll through bank statements trying to work out where it went. Or you started a spreadsheet in week one and abandoned it by week three.
I wanted to see where my money goes, so I built this.
You log what you spent each day, sort it into a category and move on. When you want answers, pick a date range and the app shows what share of your spending went to each category, as a chart and a table.
Think of it as a spreadsheet with a login, fixed categories and a built-in chart.
What you can do
- Log up to five expenses for a day in one go, sorted into Rent, Food, Shopping, Entertainment or Other.
- Reopen any date and edit what you entered.
- Browse every expense in one table, newest first.
- Pick a start and end date and see spending by category, ranked by share.
- Keep your data private. Every account has its own expenses and its own analytics.
Under the hood
Streamlit handles the interface and talks to a FastAPI backend over a REST API. FastAPI validates each request with Pydantic and reads and writes a MySQL database. Category totals are computed in SQL, so the dashboard receives finished numbers.
Your data
Passwords are stored as salted hashes. The API takes your user ID from a signed session token, so editing a URL won't show anyone else's expenses. There is no shared ledger.
It doesn't handle budgets, recurring bills or CSV export yet.
Built with Python, FastAPI, Streamlit and MySQL.