MyMoneyApp
A personal finance app built around one simple idea: money should be understandable, transparent and not stressful.
A personal finance application focused on transparency, planning and understanding where money actually goes.
Managing personal finances is rarely difficult because of a lack of data.
Banks already know every transaction. Cards record every payment. Account balances are available instantly.
The real problem is turning all of that information into a clear answer to a few simple questions:
- Where is the money going?
- How much is actually available to spend?
- What money is already reserved for something else?
- How much can safely be saved or invested?
- What will the financial situation look like next month?
MyMoney is designed around answering those questions.
The problem
A bank account balance tells only part of the story.
Seeing 50,000 CZK on an account does not necessarily mean that 50,000 CZK is available.
Part of it may already belong to:
- rent and utilities
- yearly subscriptions
- insurance
- future purchases
- emergency reserves
- savings
- upcoming bills
- discretionary spending
Traditional banking applications are very good at showing what already happened.
They are usually much worse at representing what the money is supposed to do next.
MyMoney approaches personal finance as a combination of three things:
tracking, allocation and planning.
From transactions to context
A transaction by itself is just a number.
-1,249 CZK
Adding a merchant helps.
Alza.cz
-1,249 CZK
Adding a category provides more context.
Electronics
Alza.cz
-1,249 CZK
But understanding personal finances requires another level:
How does this transaction affect the financial plan?
That is the layer MyMoney tries to provide.
Transactions can be categorized, processed by rules and connected to budgets or financial allocations.
The goal is not simply to maintain a perfect transaction history.
The goal is to make the history useful for future decisions.
One balance, multiple purposes
One of the core ideas behind MyMoney is separating the physical location of money from its intended purpose.
A bank may show:
Current account
50,000 CZK
MyMoney can represent the same money differently:
Current account
50,000 CZK
Allocated as:
Housing 15,000 CZK
Food 8,000 CZK
Transport 3,000 CZK
Annual expenses 6,000 CZK
Emergency reserve 10,000 CZK
Free to spend 8,000 CZK
The total amount has not changed.
The understanding of that amount has.
This makes it possible to separate accounting reality from planning reality without needing to create multiple physical bank accounts.
Virtual accounts
Virtual accounts allow money to be logically divided while remaining physically stored in the same bank account.
For example:
Bank account
└── 75,000 CZK
Virtual allocation
├── Emergency fund 25,000 CZK
├── Car expenses 10,000 CZK
├── Vacation 15,000 CZK
├── Home expenses 10,000 CZK
└── Available 15,000 CZK
This creates an envelope-like budgeting model without requiring money to be constantly moved between real bank accounts.
It also makes longer-term expenses easier to plan.
A yearly insurance payment, for example, does not need to suddenly appear as an unexpected large expense.
Instead, money can gradually be reserved for it throughout the year.
Budgeting
Budgeting in MyMoney is intended to answer a practical question:
How much money can be used without affecting other financial plans?
Budgets provide a structured view of expected spending across different categories and periods.
A simplified monthly budget might look like:
| Category | Planned | Spent | Remaining |
|---|---|---|---|
| Housing | 18,000 CZK | 18,000 CZK | 0 CZK |
| Food | 10,000 CZK | 7,420 CZK | 2,580 CZK |
| Transport | 4,000 CZK | 2,150 CZK | 1,850 CZK |
| Entertainment | 3,000 CZK | 2,730 CZK | 270 CZK |
| Other | 5,000 CZK | 1,240 CZK | 3,760 CZK |
The purpose is not to punish overspending with red numbers.
The purpose is to provide enough context to make deliberate decisions.
Sometimes spending more than planned is completely reasonable.
It should simply be visible.
Rules and automation
Manual categorization works for a few transactions.
It becomes tedious very quickly.
MyMoney therefore supports rules that can automatically recognize and process recurring transaction patterns.
For example:
IF merchant contains "LIDL"
THEN category = Groceries
or:
IF transaction contains "Spotify"
THEN category = Subscriptions
AND budget = Entertainment
Automation removes repetitive work while keeping the resulting data structured enough for reporting and planning.
The principle is simple:
automate predictable decisions, keep exceptional decisions visible.
Financial overview
Individual transactions are useful operationally.
Aggregated information is useful strategically.
MyMoney turns transaction history into higher-level views such as:
- spending by category
- spending over time
- account balances
- budget consumption
- recurring expenses
- savings allocation
- income versus expenses
- financial trends
A useful financial dashboard should make unusual changes visible quickly.
For example:
Monthly expenses
January 42,300 CZK
February 41,800 CZK
March 43,100 CZK
April 57,900 CZK
The important information is not that April contained several transactions.
The important information is:
why was April different?
Product principles
MyMoney is built around a few simple principles.
Transparency over complexity
Financial information should be understandable without requiring accounting knowledge.
The system should explain where money is and what it is intended for.
Planning over prediction
The goal is not to predict the future perfectly.
It is to make known future expenses and financial intentions visible.
Automation where it helps
Repeated categorization and processing should be automated.
Decisions that require context should remain explicit.
One source of truth
Accounts, transactions, budgets and allocations should describe the same financial reality rather than becoming disconnected spreadsheets and notes.
Useful information over perfect data
A slightly imperfect categorization system that supports better decisions is more valuable than a perfectly maintained dataset that nobody wants to use.
Architecture
MyMoney is designed as a lightweight application that can be self-hosted without requiring a complex infrastructure stack.
The application uses:
- C#
- .NET
- ASP.NET Core
- Entity Framework Core
- SQLite
SQLite keeps deployment and backups simple while still providing a proper relational model for financial data.
The architecture favors maintainability and predictable behavior over unnecessary complexity.
The result
The purpose of MyMoney is not to become another banking application.
It sits one level above the bank.
Banks answer:
How much money is currently on this account?
MyMoney aims to answer:
What does that money mean?
By combining transaction tracking, virtual allocations, budgeting, automation and reporting, the application creates a more transparent model of personal finances.
Instead of looking only at what happened in the past, it becomes possible to understand the present and make deliberate decisions about what should happen next.
Status
MyMoney is an actively developed project.
The current focus is on keeping the financial model flexible while making everyday usage increasingly simple.
Because a personal finance system is only useful if maintaining it requires less effort than the clarity it provides.
More from the desk.
Other things I've written and built — same instinct, different chaos.
The QA Engineers Who Can Read Will Survive
When generation becomes cheap, verification becomes the bottleneck.
QA Like Glass: It Doesn't Have to Be Seen — But You Have to See Through It
Invisible work, transparent decisions, and why quality can't be proven by counting bugs.
SortiiiQ
A safety-first workspace for turning years of scattered files into a verified Master Library—without losing data or breaking existing references.