Not All Personal Finance App Sucks

If there’s anything about me, it is that I suck at my finances. If a gun were put to my head and the only way to survive was estimating my income or expenditure, I would be long gone and not be here writing to you. When it comes to personal finance, I try my best to optimise for my future, based on what I currently have at hand. I am also of the school of thought that it is much better to focus on self-development-related investments, so I can earn more, rather than focusing more on investing in assets to make money. I don’t think that there is any poor person who became rich from investing their small capital. Maybe a gambler out there, but the odds are so low, thus not worth optimising for in my own opinion.
The new year came, and with it came a random thought to my mind. “Won’t it be better to have a better hands-on view of how my money moves?” To be honest, this wasn’t the first time such a thought had come into my mind, but every time it has come in, I never act on it, well, until now. Not to be used as an excuse, after all, if he wanted to, he would. But the major reason I didn’t act on this is that most personal finance apps out there suck. Especially for someone in my region. I have been sceptical about them for the following reasons:
-
They are mostly built for folks living in the US/EU, and thus no way to integrate with my banking accounts. I would have to painstakingly fill in every single transaction manually, and that didn’t sound like a great proposition to me.
-
Startups are a risky business, and unfortunately, really good (UX and UI) personal finance apps don’t have a good lifetime on average. You could start using one, and the next thing you know, you are seeing an announcement of the startup closing. Although most are graceful enough to let you export your data within a given timeline.
I have been in my DIY era for a while, and I have been homelabbing, and I find it very fun and engaging. My first thought towards any application I want to use is if there is an open source version available. Yes, there are a couple of open source local first personal finance tools but the problem is that, no disrespect to the maintainers and community, they mostly suck, design wise. I think it comes from the place of most devs not having flair for design. You end up with a lot of open-source apps that don’t have great UI. Except for the ones that usually have a designer on the team and typically have a commercial/business version too.

A Diamond in the Rough
However, it was a new year, and something I have learnt is that the information you seek is somewhere on the internet; you just have to search or ask for it. So I asked and got a response, a diamond in the rough that existed on the internet. I quickly went to the repo and tested the demo web app on their website. I couldn’t believe my eyes, “something this good and for free? This is literally what people sell.” I said to myself, but as I moved around the repo, I realised why this rare occurrence had happened. An actual startup built the initial web app, and sometime last year they announced pivoting to a B2B business and thus not maintaining it again. This current repo is a community-maintained fork to keep the codebase alive. My reason 2 strikes here.
I got around to setting it up on my home server, and it looked really good and also had a smooth experience. It even had an LLM advisor and was set up in a way that the data for the LLM is anonymised. You can even decide not to add the AI part. I tried running it via Olama locally, but unfortunately, my no-GPU home server isn’t capable of functioning properly with that. I did a temporary test with the Gemini API key, and it was beautiful to see, considering I didn’t have a lot of data inside yet. I imagined what money patterns it would potentially spot about me in the future. I felt like I found the perfect personal all-in-one financial budget app that was local-first with amazing UI/UX, a dream come true indeed.

The Buildoooooooooor
I even shared my hosted instance with some of my friends and mutuals on Twitter. I gave them an invite code to sign up and tell me about their experience using it. I have a friend who has been reaching out semi-regularly to ask questions about it. I do enjoy playing customer support. However, Sure still had the issue in my first reason; it doesn’t sync with banks in Nigeria. It currently supports four bank providers: Lunch Flow, Plaid, SimpleFIN, and Enable banking. I reached out to Mono, an African Open Banking provider, to make enquiries about their Mono Connect, and the pricing wasn’t favourable for my use case. A friend was even open to contributing a large sum to offset the bill, if we found interested people, but we didn’t.
Then a thought got into my head, “How can I automate this flow so filling transaction details in the finance app is as easy as uploading a PDF?” So I set out to do this, and I decided to build it using n8n, which I also self-host. I picked up the tool earlier this year, and I felt the best way to learn anything faster is to build something with it. I built it over the weekend and tested it, and the flow worked great. Then another thought came into my head, “Why not make it in a way where anyone can use the bot, regardless of their instance and have it do that?” This way, the PDF to Sure dashboard pipeline would serve me, my friends and random people on the internet. So I did that.

Knowledge Expansion Arc
I have been doing a knowledge expansion on DevOps lately, as I have a conviction that it is what I would love to do next, career-wise. I mentioned career transition to my friend, and she told me she prefers the word knowledge expansion, so credit for that wording goes to her. I have been homelabbing for a year now. I have been in roles that involved both parts of the divide: Development and Operations, so it wasn’t like I was starting from scratch. I just had to learn more about the technologies from the organisation's point of view. I thought to myself, “How best can I use this personal side project to leverage what I learnt?” How better than treating it as a production-grade app, it technically is anyway.
So I spent Wednesday evening until midnight testing and refining the app for that. I worked on rate limiting some part of the flow (server CPU usage and Gemini key usage). Then I made sure that while the setup flow for the bot asked for their Sure API key, the API key is encrypted before it gets to the database, where it is stored. Even if by chance a malicious actor gets access to the database, the data will be useless as it has AES-256 encryption on it. I also added a script that encrypts and backs up the Docker containers’ data to Cloudinary’s R2, and I also have one that backs them up locally to two separate drives on my server. Thus, adhering to the 3-2-1 data backup strategy. And finally, I set up Kuma so I can have some form of local monitoring and get notified in case of an API downtime workflow error. Of course, my online connectivity is through Cloudflare tunnel.
I Want You to Use My Shiny Tool
This is me officially announcing the public launch of it all. You might wonder why all this long talk and not just a straightforward announcement since. Well, what is life without being dramatic?
-
You can visit my Sure instance on https://money.lifeofdanel.xyz. I have disabled the invite code for signup, so anyone, anywhere can sign up without reaching out to me. I have access to the database, and I can read the data there technically. I do not plan to do that, though.
-
The bot (Sure Companion Bot (Not official)) is available at https://t.me/surengbot / @surengbot on Telegram.
-
Here is the User Guide to the bot. Please read this first before engaging with it.
-
You can also take a look at the bot’s privacy policy here: https://telegra.ph/Privacy-Policy---Sure-Companion-Bot-Not-official-01-15
-
I am not the creator of the Sure app itself, nor am I a maintainer. Please visit the official repo and support the project in ways you can. You are also free to self-host it too :)
Conclusion
Despite all these, I am still pro-privacy, local first, and I do realise a good number of people may not be okay with trusting me with such data. After all, bank statements are personal information, and why should they believe a random stranger on the internet? So I wrote about a guide on replicating a simple workflow that works solely for the creator. You can read about it here: https://www.lifeofdanel.xyz/blog/build-n8n-sure. I hope you have fun and make it a habit to keep track of your finances better this year.