Bütçe Kontroll
A personal income and expense tracker with sign-up and strict per-account data isolation. With no server running it falls back to a local mode with the same UI.
What does it do?
Bütçe Kontroll is a minimal finance app for tracking income and spending on a single screen. The interface is mobile-first and feels the same on a phone and a desktop browser.
The part I cared about most is data separation: there's a sign-in system and every account's data is stored on its own. The server keeps user data in per-user files that never enter version control.
Highlights
- Sign up / sign in — fully separated data per account.
- Local mode — if the server isn't running the app still opens and works in the browser.
- Zero dependencies — no libraries, the Node server is a single self-contained file.
- One-command start —
baslat.batboots the server and opens the browser.
How to run it
git clone https://github.com/UramTM/butce-kontroll.git
cd butce-kontroll
baslat.bat # or: node server.js → http://localhost:8123
Without a server you can double-click index.html instead; sign-in
still works but the data stays in that browser only.
Technical notes
The backend is a single Node file that runs with no installed dependencies.
User data lives in a data\ folder excluded by
.gitignore — it's created from scratch on first run. Because the
UI is plain HTML/CSS/JS, the app keeps functioning even when it can't reach the
server.
The real lesson: designing something that works with and without a server takes a bit more planning than writing for one environment, but it saves the user experience.
Roadmap
- Categories and monthly summary charts
- Import / export (CSV)
- Multiple currencies