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 rusqlite, exposed as async commands

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