Spendist was not created because I suddenly thought, “I should build a personal finance app.”
To be honest, for a long time I hoped I would never have to.
The idea grew slowly, through another phone bill, another internet payment and tens of thousands of manually recorded transactions. Spendist is the result of more than a decade of managing my own budget, relying on one application and gradually realising that everyday transaction entry could work much better.
It started in 2013
I began tracking and analysing my expenses carefully in 2013. Managing a household budget quickly became more than a way to reduce costs. It became — and still is — one of my hobbies.
I wanted to know where my money was actually going. A general feeling that I was “probably spending too much” was not enough. I was interested in real transactions, categories and patterns visible over a longer period.
After a great deal of research, I chose Kontomierz, a Polish personal finance application. In my personal opinion, it was the best tool of its kind available on the Polish market at the time. It initially met all my main requirements, so I started entering my expenses consistently.
And I kept going.
First, 2014 passed. Then came 2016, when Poland’s national team fought its way through the European Championship in France. Browsers, phones and the way we used the internet changed, but my process for entering expenses remained almost the same.
Kontomierz became part of my financial life
I want to be clear about one thing: I genuinely liked Kontomierz.
It was where I built my financial history over many years. I recorded more than 40,000 transactions with a combined value well above one million Polish złoty.
Every number represented a small piece of everyday life: groceries, a bill, a journey, a repair, fuel, a major purchase or a coffee bought on the way somewhere.
The difficulty was that the things which bothered me at the beginning never really disappeared.
I wanted more convenient multi-currency transactions. Every month, I entered a similar phone bill, internet payment and other regular charges. The amounts were often unchanged or only slightly different, but each transaction still had to be created again.
Entering many expenses also took too much time.
I tried to improve the process. I started using the Vimium browser extension to navigate forms with keyboard shortcuts. It helped, but it did not solve the underlying problem. I was optimising a workflow that needed a different approach from the start.
The pandemic arrived, but my workflow stayed the same
When the pandemic began, Kontomierz still looked and worked much like the application I had known for years.
I continued using it. An enormous part of my financial history was stored there, and I did not want to start again somewhere else. I also kept believing that the application would eventually change.
I waited for faster bulk entry, recurring expense automation, better multi-currency support and features that would reduce the time needed to maintain my records.
For several more years, hope continued to win over frustration.
Kontomierz 2.0 finally arrived in 2022
A long-awaited new version appeared near the end of 2022. It looked much more modern and introduced a clearly redesigned interface. Public reports from that period confirm that the application had been rewritten from the ground up as a new system.
The difficulty was that the new version operated as a separate product. It did not initially contain the history from the old Kontomierz and did not provide every feature familiar to existing users.
This was not only my impression. A public review and collection of Kontomierz user opinions preserved comments about missing features, migration problems and differences between the two versions. At the time, the support team explained that Kontomierz 2.0 had been built from scratch, was still being improved and would gradually regain options available in the old system.
At first, I could not move ten years of my financial history into the new application. A migration option finally appeared in my account several months later, in 2023.
I used it with a great deal of hope. After a decade with Kontomierz, I thought I would finally have a modern tool that retained my data while saving me time.
Instead, from my perspective, it became the moment when the need to create my own application turned into a concrete plan.
When 40,000 transactions depend on somebody else’s project
In July 2023, Kontomierz announced that the previous version would close on 1 August 2023.
That announcement caused concern among people who had used the old system for years. The earlier panel did not disappear completely. As of 23 July 2026, its public sign-in page still responds, while the current Kontomierz terms retain a separate section for the first version and a plan priced at PLN 9.99 per month or PLN 109.99 per year.
I do not want to tell this story as a simple contrast between “good Spendist” and “bad Kontomierz”. Kontomierz was an important tool for me for many years. Without it, I might never have developed such a consistent expense-tracking habit.
At the same time, I realised that I could not base my entire financial history on the hope that an external project would always remain available and develop in the direction I needed.
I had more than 40,000 recorded transactions. I did not want to discover one day that they were no longer accessible because somebody had decided to shut down an older system.
I searched for an alternative, but could not find a transaction-first app
Before building my own application, I looked for a replacement.
There were — and still are — many financial tools. Some focus on automatic bank connections. Others begin with spending limits, savings goals or advanced charts.
I could not find an application that started with the question most important to my workflow:
How can adding the next transaction be made as fast and convenient as possible?
This is what I call a transaction-first approach.
The universe is made of atoms. A house is built from bricks. A household budget is built from transactions.
Transactions should not be treated as an inconvenient step that users must complete before reaching an attractive chart. They show where the money actually went. Charts, summaries and plans are ways of understanding data that first had to be recorded.
Twelve cartons of milk and one additional field
A very ordinary example explains the idea well.
A supermarket runs a 6+6 promotion, so I buy 12 one-litre cartons of UHT milk at PLN 1.59 each. If I want separate records, a traditional form requires me to create almost the same transaction 12 times: enter the description, price, date and category again and again.
Spendist bulk entry includes a quantity field. I enter the description, price and the number 12, and the application creates 12 transactions.
This is a small feature. It is not as visually impressive as a complex chart or a promise that an application will prepare an entire budget automatically. For someone who records expenses regularly, however, it saves a considerable amount of time.
Spendist grew from details like this.
Spendist grew from real, repeated problems
Building my own application stopped being a vague idea. It became a response to needs that had returned for years:
- fast entry for individual and bulk transactions,
- repeating the same purchase without completing the form many times,
- automation for bills and other recurring payments,
- multiple wallets and currencies,
- efficient filtering of a large transaction history,
- importing earlier records,
- exporting personal data whenever needed,
- source code that does not disappear behind closed doors.
Spendist was not created to reproduce Kontomierz feature by feature. It was created around a different priority: a transaction should be the first and most important element of a budget.
Dashboards matter. Categories, tags, places, imports, exports and recurring payments matter as well. Everything begins, however, with recording what actually happened to the money.
Why is Spendist open source?
My concerns about the future of my own financial history also influenced the decision to make the code public.
Spendist is an open-source project. Its source can be inspected, deployed on personal infrastructure and developed under the terms of the GNU GPLv3 licence.
Data should not become a hostage of one provider. Spendist therefore lets users export all or selected transactions. If you decide to use a different tool one day, your financial history should be able to move with you.
That is one of the most important lessons I learned from more than ten years of using personal finance applications.
Spendist is still at the beginning of its journey
I am not claiming that Spendist is finished or that it already answers every possible need.
Our current focus is stabilising the code and improving existing features. The roadmap will be updated, and we want future development to be informed by community feedback.
If something does not work, it can be reported through GitHub Issues. If a feature is missing, it helps to describe the specific situation in which it would save time or solve a problem.
Spendist exists because small difficulties reported by someone who genuinely uses a financial application are not always small. Repeated hundreds or thousands of times, they become hours of unnecessary work.
A budget is built from transactions
Spendist is not simply another household budgeting application.
It is a budgeting application built around a transaction-first approach.
If you also want to know where your money is really going, you are welcome to register, sign in and try Spendist.
Add the first transaction. Then add another.
Over time, they will reveal the full picture.
