In · the money you receive
- +Salary
- +Freelance
- +Investment
- +Gift
- +Other Income
Work / Research · Education / Personal Finance Tracker
A small Python program that does what a pocket notebook does, only with arithmetic that never lies. Records what you earned. Records what you spent. Tells you what is left. No internet. No login. Your data stays on your computer.
Act I · The Problem
The bank app shows the balance. It does not show why it is shrinking. The fancy budgeting app wants a login, an internet connection, and a permission to read your messages. The ledger you actually need is two columns, on your machine, with arithmetic you can trust.
Act II · The Promise
Type a number. Pick a category. Hit enter. The total updates. That is the whole product. The same shape your grandparent would draw on the back of a chequebook, only this one adds up correctly every single time.
| Date | Category | In | Out | Balance |
|---|---|---|---|---|
| 04 Apr 2026 | Salary | ₹ 50,000.00 | · | ₹ 50,000.00 |
| 05 Apr 2026 | Rent | · | ₹ 18,000.00 | ₹ 32,000.00 |
| 07 Apr 2026 | Food | · | ₹ 2,450.00 | ₹ 29,550.00 |
| 11 Apr 2026 | Freelance | ₹ 8,500.00 | · | ₹ 38,050.00 |
| 15 Apr 2026 | Transport | · | ₹ 1,200.00 | ₹ 36,850.00 |
| Total | ₹ 58,500.00 | ₹ 21,650.00 | ₹ 36,850.00 | |
Act III · The Buckets
No more, no fewer. Categories you can pick by typing a single digit. The point is to record, not to file taxes.
Act IV · Proof
Every core function has tests. Adding a transaction, calculating the balance, filtering by category, generating the summary, validating the amount, validating the date. Run them in the terminal. They go green.
pytest test_project.py -v
51 ✓
passing.
Built as a Harvard CS50P final project. The test count is the receipt: every function is covered, in writing.
✓ A transaction is added with the right amount, date and category.
✓ The balance equals total income minus total expenses, every time.
✓ Filtering by category returns only the matching rows.
✓ Bad amounts and bad dates are rejected before they corrupt the file.
✓ The summary includes largest income, largest expense, and a breakdown.
The Stack
This is what the dmj.one welfare initiative looks like in practice: a first-year student ships a real, tested, offline-first program, free for anyone to use. We can build that level of care for you next.