Under the Hood of Spense.app: The Code.
While Spense v0.2 is under development, I want to talk about the internal organization of the application from a technical perspective. This article is mainly for web developers, and it's written in the corresponding language, so if you're reading and don't understand anything, that's okay, you can just skip it.
In a Nutshell
Backend on Django (Python), frontend on Django templates and Bootstrap, with a pinch of JavaScript and some htmx (not anymore).
Why So Boring?
Sounds not very hype, right. But remember that Spense in its current state is not a full-fledged product. It's more of a prototype, in which I often need to change things and test ideas. If the ideas work, I'll throw this code away and write another; if they don't, I'll just keep it for memory.
So, I chose Django not because I love it (actually, I hate it), but because I've gotten used to it over the last year, and it allows me to prototype the application easily and quickly.
Read moreI started making a personal finance app. Why?
Since around 2014, I've been keeping track of my finances in Google Spreadsheets. It always went like this: 2-3 times a week, I'd sit down at the computer, gather receipts, go through the transaction history in banking apps, recall expenses from memory, and record them in a spreadsheet.
The spreadsheet had one row for each day, and columns for accounts, wallets, and a couple of calculated fields. There was also a "Notes" field where I would describe in almost free form where the money went.
As you can see, I didn't exactly have a lot of money. Probably because I mostly ate and drank coffee instead of working, but the point is that I didn't want to economize on these daily things at all. Saving on everyday items and cutting back is fundamentally unnatural for me, and I've always tried to avoid it. Therefore, the question "Where does the money go?" didn't concern me at that moment, but more interesting questions did:
- How much money do I have right now?
- How much did I have a month/six months/a year ago? Have I become richer or poorer?
- Can I afford to spend on a vacation/buy a new phone/go to a private clinic right now? Will I go into the red by the next paycheck?
- What should my income be so that with my current spending, I start saving any money at all?
- How soon will I start starving if I lose my job?