If you know me, you know that:
- I am a minimalist! I love fewer features! The fewer features a tool has, the more I use it and love it.
- I use markdown heavily, both for work and personal life. I also use Git and GitLab to host most of these files.
What is the problem?
Like note taking, I’ve been struggling to find the right way and the right tools to have a clear idea about my money.
The issue is, once again, complexity and maximalism. I tried a few apps, and each time I failed because most of them have many features I don’t even need.
Another deal breaker was data export: some apps didn’t offer it at all.
Not to mention Notion and the crazy, heavy money management templates you find on YouTube. I’d rather eat a frog at 5AM than maintain something as complex as those.
How I solved it?
So, once again, I went back to markdown, Git and GitLab. I started managing things in GitLab issues. I create a GitLab issue and record each month in comments and comment threads.
The format is simple: I have 3 accounts (Debit, Saving and Cash), and a markdown table with the transactions for that month. At the top of the comment I keep a summary of the month.
The downside of this approach is having to do the computations manually. This can get frustrating sometimes, especially in transaction-heavy months.
So I created a small web application to make entering transactions easier and to handle the computations for me.
Everything runs on the client side and the data is saved in the browser’s local storage. Once everything is set up, I export the result to markdown and persist it in the Git repo.
I also added an export to JSON for all the data, so I can easily use it in scripts to create charts or do some analysis.
I’m thinking of porting this to a CLI and managing everything locally without relying on a webpage.
What are the upsides of this approach?
Here are the upsides, and why I designed all of this:
- My data is mine, and I can do whatever I want with it.
- The format is as simple as it can be, with as few features as are useful to me.
- The format is flexible, I use it for personal finance, as well as for specific projects (Capital account, revenue Account …)
- The format is standard-ish: everything is in JSON and markdown, so I can make updates without using a tool.
- The format is text, so I can build on top of it, use it in scripts, or give it to my self-hosted LLM (I still don’t have one).
- The format is simple and very easy to maintain.
- The web tool makes things faster and cleaner.
What are the downsides?
No downsides detected 😝.
Micro vs Macro tracking
One thing that helped me keep tracking, and avoid quitting, is avoiding micro tracking, i.e. I don’t track every single transaction, I only track macro ones. For example, for cash expenditure, I track per activity, per day, or I just track ATM withdrawals.
This way I record less, and tracking doesn’t become that tedious, painful task I have to do every day.
However, if one day I need to dig deeper into how I spend my money, I can start recording more micro.
Web app and Demo
Here is the web app and some screenshots of how I manage things:

I record macro transactions tied to a specific event instead of micro transactions, to avoid recording fatigue and keep things simple and easy to maintain.

When everything is ready, I export it to markdown and commit it to Git.