Finia
Finia is a local-first personal finance desktop application for German users. Your financial data lives on your own device in an SQLite database. An optional, end-to-end-encrypted sync service keeps several devices in step without ever exposing plaintext to the relay.
What Finia is
-
Local-first — every record is stored on-device; the app is fully usable offline.
-
Private by default — at-rest secrets are encrypted, and sync payloads are encrypted client-side so a relay only ever sees ciphertext.
-
German-focused — German banking concepts (Sondertilgung, Freistellungsauftrag, Notgroschen, Dispo, Rahmenkredit) are first-class. The UI ships in German, English, and Russian; the default locale is
de.
What you can do with it
-
Track accounts and transactions, with CSV import for ING and Postbank.
-
Plan with budgets and recurring transactions.
-
Manage a securities portfolio, physical assets, and mortgages.
-
Model loans and credit lines (Darlehen / Kreditlinien) with amortization schedules.
-
Reconcile balances, keep contacts, and learn via built-in guides.
-
See net worth and trends on a consolidated dashboard.
How it is built
Finia is a native desktop binary.
Frontend |
Leptos 0.7 (Rust → wasm32), Tailwind CSS, bundled by Trunk |
Backend |
Tauri 2 (Rust) with SQLite via |
Sync |
Optional self-hosted Axum server using an append-only CRDT event log with Hybrid Logical Clocks |
All monetary values are stored and handled as integer cents — never floats.
Where to go next
This portal is being filled out page by page. Planned sections follow the project’s documentation conventions:
-
Usage — install, configure, and day-to-day use
-
Architecture & Decisions — the data-flow and CRDT-sync design
-
Operations — sync-server hosting, backup, and key management
-
Contributing — workspace layout, build, and the pre-commit gates