Releases: klvnch/finzer
Release list
Finzer v0.1.0
Finzer v0.1.0 — Initial Release
Release date: June 27, 2026
Finzer is a local-first personal wealth manager for desktop. It helps you track money across real bank accounts and cash while budgeting through virtual pockets — purpose-based buckets inside each account. Your financial data never leaves your machine.
This is the first public release of Finzer, built with Tauri 2, Vue 3, TypeScript, and Rust.
Why Finzer?
Most finance apps treat an account balance as a single number. Finzer separates where money physically lives from what that money is earmarked for:
- Physical accounts — cash on hand or credit cards
- Virtual pockets — savings goals, fixed bills, and variable spending buckets inside an account
Every transaction flows through a pocket, so every expense or deposit is tied to intent — not just an account total.
Highlights
- Virtual pocket budgeting — allocate, reallocate, transfer, and settle balances across pockets and accounts
- Smart transaction router — unified ledger for income, expenses, reallocations, credit card settlements, and inter-account transfers
- Credit card support — track outstanding balances, set due days, and settle from cash accounts
- On-device financial advisor — savings leakage alerts, payment reminders, goal projections, and rebalancing advice
- Dashboard & analytics — portfolio summary, pocket allocation chart, monthly expense breakdown, and goal progress
- Quick entry overlay — log a transaction from anywhere with
Ctrl+Shift+F - 100% local — SQLite database on your machine, no cloud sync required
- Pocket Finance migration — automatically imports data from the legacy Pocket Finance app if found
Features
Accounts & Virtual Pockets
Create cash and credit card accounts, then organize money into three pocket types:
| Pocket type | Purpose |
|---|---|
| Savings Goal | Target amount and deadline with progress tracking |
| Fixed Expense | Recurring bills with payment method, billing cycle, and due day |
| Variable Expense | Flexible spending with monthly budget tracking |
Each account includes an Unallocated Balance pocket for funds not yet assigned to a purpose. Move money between pockets with virtual reallocations, or transfer funds between physical accounts.
Smart Transaction Router
- Log income and expenses against a physical account and virtual pocket
- Unified transaction history merges regular transactions, virtual reallocations, credit card settlements, and account transfers
- Edit or delete entries with automatic balance recalculation
- Filter and search your full ledger from the dashboard
Credit Card Support
- Track outstanding credit card balances (negative physical balance)
- Set a monthly due day per card
- Receive desktop notifications when payment deadlines are within 5 days
- Settle a card from a cash account, moving funds between the relevant pockets in one step
Financial Advisor
An on-device advisor watches your ledger and surfaces actionable alerts — no network calls, no third-party services:
- Savings leakage — withdrawals from savings goal pockets trigger desktop notifications and advisor log entries
- Credit card due alerts — reminders when payment deadlines approach, with outstanding balance shown
- Goal projections — monthly savings required to hit a target, adjusted for detected leakage
- Rebalancing advice — detects repeated cross-account spending patterns (3+ transactions in 30 days) and suggests quota adjustments
All advisor alerts appear in the dashboard Advisor Alert Panel, where you can review and dismiss them.
Dashboard & Analytics
- Portfolio summary — total balance across all accounts and pockets
- Virtual pocket allocation chart — visual breakdown of where your money is assigned
- Monthly expense chart — spending by pocket for the current month
- Goal progress bars — track savings goal completion at a glance
- Transaction list — full history with filtering
Quick Entry
Press Ctrl+Shift+F from anywhere to open a quick-entry overlay. Capture a transaction without navigating away from your current screen. The app window is brought to the foreground automatically.
Custom Desktop UI
- Frameless window with a custom title bar (minimize, maximize, close)
- Sidebar navigation between Dashboard and Accounts
- Dark-themed UI built with Tailwind CSS 4
- Toast notifications for success and error feedback
- Confirm dialogs for destructive actions
Data & Privacy
- All data is stored locally in a SQLite database (
finzer.db) at your OS app data directory - Database uses WAL mode with foreign key enforcement for reliability
- No network calls are required for core functionality
- Currency formatting uses Indonesian Rupiah (IDR)
Migrating from Pocket Finance
If you previously used Pocket Finance, Finzer automatically migrates your database on first launch:
- Looks for
pocket_finance.dbin the Finzer app data directory - Falls back to the legacy app identifier (
com.kelvin.pocket-finance) if found elsewhere
No manual import step is needed.
Installation
Download the installer for your platform from the Assets section below:
| Platform | Format |
|---|---|
| Linux | .deb, AppImage |
| Windows | .msi, .exe (NSIS) |
| macOS | .dmg, .app (universal: Apple Silicon + Intel) |
Linux development note
If you build from source on Ubuntu/GNOME, tauri dev may show a generic dock icon. Run pnpm linux:dev-icon once after cloning to install a .desktop entry. Packaged builds handle this automatically.
Tech Stack
| Layer | Technology |
|---|---|
| Desktop shell | Tauri 2 |
| Frontend | Vue 3, TypeScript, Vite, Pinia, Vue Router |
| Styling | Tailwind CSS 4 |
| Charts | Chart.js, vue-chartjs |
| Backend | Rust |
| Database | SQLite (rusqlite, bundled) |
| Plugins | Global shortcut, notifications, opener |
What's Included in v0.1.0
This release ships the complete application:
- 6 database migrations covering accounts, pockets, transactions, reallocations, fixed expense metadata, credit card due days, settlements, and account transfers
- Full Rust service layer: balance engine, transaction router, allocation, credit settlement, account transfers, goal projections, rebalancing analysis, and advisor scans
- Vue frontend with Dashboard and Accounts views, modals for reallocation and credit settlement, and a reusable UI component library
- GitHub Actions workflow for automated multi-platform builds on version tags
- App icons for Linux, Windows, macOS, Android, and iOS bundle targets
Getting Started
- Download and install the build for your platform
- Launch Finzer — your database is created automatically on first run
- Create a cash or credit card account
- Add virtual pockets (savings goals, fixed expenses, or variable spending)
- Allocate funds and start logging transactions
- Use
Ctrl+Shift+Ffor quick entry anytime
For development setup, see the README.
Known Limitations
This is an early v0.1.0 release. A few things to be aware of:
- Currency is fixed to IDR — multi-currency support is not yet available
- Advisor rebalancing messages are partially in Indonesian
- No data export or backup UI yet (database file can be copied manually from the app data directory)
- No mobile builds in this release (icon assets are included for future use)
Full Changelog
Added
- Initial release of Finzer desktop application
- Cash and credit card account management
- Virtual pockets: Savings Goal, Fixed Expense, Variable Expense, Unallocated Balance
- Transaction logging with edit, delete, and balance recalculation
- Virtual reallocations between pockets
- Inter-account transfers
- Credit card settlement from cash accounts
- Financial advisor: leakage detection, payment due alerts, goal projections, rebalancing advice
- Dashboard with portfolio summary, charts, goal progress, and transaction history
- Accounts view with pocket management and allocation controls
- Quick entry overlay via global shortcut (
Ctrl+Shift+F) - Desktop notifications for advisor alerts
- Automatic migration from Pocket Finance (
pocket_finance.db) - GitHub Actions release pipeline for Linux, Windows, and macOS
- Custom frameless window with title bar controls
- SQLite schema with WAL mode and indexed queries
Thank you for trying Finzer! Report issues on GitHub or reach out with feedback.