> Unfortunately, our security system has detected malicious access from your computer to our website. For the protection of our system the access was temporarily blocked.
Nice project! I built a CLI budgeting project a long time ago, and what made me stop using my own project was the lack of automated integration with my bank accounts. At that point I had many credit cards, multiple bank accounts, in different currencies, and integrating all expenses was just too much manual work.
I wish financial institutions were better at automated exports of your financial data, given the right permissions of course.
That’s a fair point. Automated bank imports sound essential at first, especially with many accounts and cards.
In practice, though, I found them less useful for budgeting than expected. A bank statement tells you how much was spent and where, but not what the expense actually was. “$100 at a supermarket” could be groceries, pet food, a lawn mower, or business expenses — that context is what makes budgeting meaningful, and it usually has to be added manually anyway.
At that point, entering the expense directly with the right category often turned out to be simpler and more accurate for me. Automated access would still be nice for reconciliation, but it’s not the silver bullet it’s often perceived to be.
That’s fair — and I agree if enough context exists.
The key limitation is that a raw bank transaction usually contains very little semantic information: amount, merchant name, date. From that alone, an LLM can only guess based on patterns or prior behavior, not actually know what the expense was for.
“$100 at a supermarket” could be groceries, pet food, a household item, or something work-related. An LLM can infer probabilities once it has enough historical data and feedback, but that still means the user has to correct or confirm things at some point.
So I see LLMs as very helpful for assisting categorization (suggestions, defaults, learning over time), but they can’t fully replace intent unless the underlying data becomes richer than what bank statements provide today.
Is there any chance it could become richer? What governs the content of credit card and bank statements? Is there anyone pushing for them to be more useful?
I think (granted, this is from a quick bit of research so I could be wildly wrong) - the message you see in your credit card app with a transaction is usually mainly the merchant name and location which is part of ISO 8583, so it may be a bit hard to extend it to include an arbitrary message in a way that works without merchants having to replace card reader/POS systems en-masse.
one way to go around this is to use apps like Toshl which connect to banks (it is far from perfect but usable) and then if you are unhappy with the app you can use their API to sync with your own system
I love this. I also built a business like that[0]. It's super niche. I have maintained this small business for soon to be 13 years now. Most of what has worked has been maintaining great relationships with the few customers I have.
I think the most important thing for me have been offering amazing support. I always reply to all e-mails right away and make it my top priority giving them my best help.
Congratulations on your success, and best of luck going forward!
Thank you — and congrats to you as well, that’s an impressive run.
I completely agree: in a small, niche business, relationships and support matter far more than scale. Replying quickly, taking users seriously, and actually helping them goes a long way over many years. It’s probably one of the few real advantages solo developers have over larger teams.
13 years in a niche is no small achievement. Best of luck to you too, and thanks for sharing your experience — it’s always encouraging to hear similar stories.
My personal bias is that anytime I see on a software company's website footer that they're a GmbH, I know it will be selling high quality, durable, reliable software ;)
Thanks! That’s funny, because while it’s technically a GmbH, it’s really just me — a one-person company.
I originally set it up mainly for risk separation. Before the apps, I was developing backup software, and having a legal structure felt like the responsible thing to do. It also looked more professional at the time. Whether I’d do it again today, I’m honestly not sure.
That said, keeping personal and business finances clearly separated has definitely been a good decision in the long run.
Good questions.
- The Android version came about two years after the iOS app. iOS was always my primary focus and the main success driver.
- Both apps are 100% native. No cross-platform framework and no web views. It may sound more complex, but for me it was actually simpler and more controllable that way.
- There is very little shared code between platforms. Concepts and ideas are shared, but the implementations are platform-specific.
- The core app functionality is almost entirely on-device. MoneyControl works locally by design. There is an optional WebApp that adds device sync and a browser-based interface, but the server side is essentially limited to synchronization.
In short: native apps, local-first architecture, with sync as an optional layer rather than a requirement.
That’s a fair point. Automated bank imports sound essential at first, especially with many accounts and cards.
In practice, though, I found them less useful for budgeting than expected. A bank statement tells you how much was spent and where, but not what the expense actually was. “$100 at a supermarket” could be groceries, pet food, a lawn mower, or business expenses — that context is what makes budgeting meaningful, and it usually has to be added manually anyway.
At that point, entering the expense directly with the right category often turned out to be simpler and more accurate for me. Automated access would still be nice for reconciliation, but it’s not the silver bullet it’s often perceived to be
This really resonates. Long-term maintenance, reliability, and staying useful over years is the hardest part of building software — and often the most overlooked. Respect for prioritizing sustainability over hype. That mindset is what actually creates real products.
How do you market your software?
Did you learn how to become a marketer and took it as a persona? What have you learned how to market your software in the past 20 years as a developer?
Interesting! I know next to nothing about iOS development, but surely there have been major changes in frameworks and expected look (often connected)? Which changes were there over the years and how and when did you follow them? Did it turn out good or bad to follow early / late?
Good question — yes, there were many major changes, both technically and visually.
On the technical side, the biggest shifts were things like Objective-C → Swift, ARC, Auto Layout, size classes, Dark Mode, and more recently SwiftUI. I generally didn’t jump on everything immediately. My rule of thumb was: adopt new frameworks once they’re clearly stable and proven in real apps. Being too early often meant rewrites; being too late meant technical debt. A slightly conservative approach worked best for me.
Visually, Apple’s HIG evolved a lot: skeuomorphism → flat design → more layered, content-first UIs. I followed those changes gradually. Smaller visual updates happened continuously, but larger redesigns only when there was a real user benefit or a technical reason. Version 10 is one of those bigger moments where design and architecture changes aligned.
In hindsight, following a bit late rather than very early turned out to be the better tradeoff. Users value stability and consistency more than being on the absolute cutting edge, especially for a long-term app they rely on daily.
>The mobile apps (iOS, Android, etc.) can be downloaded from the app stores and tested free of charge. Simple in-app purchases or the conenction to a paid WebApp unlock the Premium Features.
Looks great, and I was also happy to see that it has offline capabilities and will sync once you have a signal. There needs to be more apps built using this model.
A local-first, offline-capable model turned out to be one of the best long-term decisions. It makes the app faster, more reliable, and usable in situations where connectivity is poor or nonexistent. Sync then becomes an enhancement, not a dependency.
It also changes how you design software: you optimize for resilience and data ownership instead of assuming a server is always there. I’m convinced more apps would benefit from this approach, especially for tools people rely on daily.
I've done a similar app and this was basically the reason why I'm discontinuing the app. You didn't have a polished offline-first sync solution back in the days and my homemade sync code is a spaghetti soup.
???
I wish financial institutions were better at automated exports of your financial data, given the right permissions of course.
In practice, though, I found them less useful for budgeting than expected. A bank statement tells you how much was spent and where, but not what the expense actually was. “$100 at a supermarket” could be groceries, pet food, a lawn mower, or business expenses — that context is what makes budgeting meaningful, and it usually has to be added manually anyway.
At that point, entering the expense directly with the right category often turned out to be simpler and more accurate for me. Automated access would still be nice for reconciliation, but it’s not the silver bullet it’s often perceived to be.
The key limitation is that a raw bank transaction usually contains very little semantic information: amount, merchant name, date. From that alone, an LLM can only guess based on patterns or prior behavior, not actually know what the expense was for.
“$100 at a supermarket” could be groceries, pet food, a household item, or something work-related. An LLM can infer probabilities once it has enough historical data and feedback, but that still means the user has to correct or confirm things at some point.
So I see LLMs as very helpful for assisting categorization (suggestions, defaults, learning over time), but they can’t fully replace intent unless the underlying data becomes richer than what bank statements provide today.
Congratulations on your success, and best of luck going forward!
[0] https://www.mino.no.
I completely agree: in a small, niche business, relationships and support matter far more than scale. Replying quickly, taking users seriously, and actually helping them goes a long way over many years. It’s probably one of the few real advantages solo developers have over larger teams.
13 years in a niche is no small achievement. Best of luck to you too, and thanks for sharing your experience — it’s always encouraging to hear similar stories.
Congrats on your continued success!
I originally set it up mainly for risk separation. Before the apps, I was developing backup software, and having a legal structure felt like the responsible thing to do. It also looked more professional at the time. Whether I’d do it again today, I’m honestly not sure.
That said, keeping personal and business finances clearly separated has definitely been a good decision in the long run.
That's all I wanted to say - as much of a milestone as version 10 is - the past 9 were amazing as well.
1. How long after releasing the iOS app did you start on an Android version?
2. Are you using some kind of cross-platform framework, or are the apps mostly “mobile-friendly web views”?
3. How much code is shared between the three architectures?
4. How much of the app functionality is “server based” instead of “on device”?
In short: native apps, local-first architecture, with sync as an optional layer rather than a requirement.
(And thanks for the reply!)
In practice, though, I found them less useful for budgeting than expected. A bank statement tells you how much was spent and where, but not what the expense actually was. “$100 at a supermarket” could be groceries, pet food, a lawn mower, or business expenses — that context is what makes budgeting meaningful, and it usually has to be added manually anyway.
At that point, entering the expense directly with the right category often turned out to be simpler and more accurate for me. Automated access would still be nice for reconciliation, but it’s not the silver bullet it’s often perceived to be
- what kind of authentication protocol stack is used
- what algorithm is used for network protocol encryption (hash, block, encryption)
- is data centrally stored, if so, is it encrypted at rest? Key stays in phones?
- any accounting audit done? (Moot but just a check mark in a small-family-business-oriented checkbox)
Great pricing!!
On the technical side, the biggest shifts were things like Objective-C → Swift, ARC, Auto Layout, size classes, Dark Mode, and more recently SwiftUI. I generally didn’t jump on everything immediately. My rule of thumb was: adopt new frameworks once they’re clearly stable and proven in real apps. Being too early often meant rewrites; being too late meant technical debt. A slightly conservative approach worked best for me.
Visually, Apple’s HIG evolved a lot: skeuomorphism → flat design → more layered, content-first UIs. I followed those changes gradually. Smaller visual updates happened continuously, but larger redesigns only when there was a real user benefit or a technical reason. Version 10 is one of those bigger moments where design and architecture changes aligned.
In hindsight, following a bit late rather than very early turned out to be the better tradeoff. Users value stability and consistency more than being on the absolute cutting edge, especially for a long-term app they rely on daily.
Typo in 'conenction'
I wonder, apart from the normal exposure/distribution on App Store, what are the main strategies you've used for marketing?
A local-first, offline-capable model turned out to be one of the best long-term decisions. It makes the app faster, more reliable, and usable in situations where connectivity is poor or nonexistent. Sync then becomes an enhancement, not a dependency.
It also changes how you design software: you optimize for resilience and data ownership instead of assuming a server is always there. I’m convinced more apps would benefit from this approach, especially for tools people rely on daily.
Congrats, really a long-run marathon!
Maintaining it for 14+ years is a huge effort, so I expect somehow a stable business model behind it?