Minimalist personal finance tracker for Linux desktop with cross-platform support.
Spent is feature-complete and stable. It has primarily been tested on Arch Linux. If you encounter issues on other distros or OSs, please open an Issue!
- Containers: Create separate balance containers to manage personal, business, or different accounts in complete isolation
- Offline-first with local SQLite storage
- Quick transaction entry (Ctrl+N)
- Monthly balance tracking with history
- Category-based organization
- Dark mode interface
- CSV export per container
- Cross-platform: Linux (.deb, .AppImage), Windows (.exe), macOS (.app)
- Backend: Tauri v2 (Rust)
- Frontend: Svelte + TypeScript
- Database: SQLite
- UI: TailwindCSS
- Node.js
- Rust
- Linux dev dependencies:
# Ubuntu/Debian sudo apt install libwebkit2gtk-4.1-dev build-essential curl wget file libssl-dev libgtk-3-dev libayatana-appindicator3-dev librsvg2-dev # Arch sudo pacman -S webkit2gtk-4.1 base-devel curl wget file openssl gtk3 libappindicator-gtk3 librsvg
npm install
npm run tauri devBuild:
npm run tauri build- Launch:
spent-app(binary renamed fromspentin v1.1.5 to avoid conflict with opensp package) Ctrl+N- Add transactionCtrl+K- Command palette (access all features)- Hover transaction to edit/delete
- Switch between containers using the dropdown in sidebar
- Create/manage containers via Command Palette → "Manage Containers"
The database is stored locally in platform-specific locations:
- Linux:
~/.local/share/com.spent.app/spent.db - Windows:
%APPDATA%\com.spent.app\spent.db(typicallyC:\Users\<username>\AppData\Roaming\com.spent.app\spent.db) - macOS:
~/Library/Application Support/com.spent.app/spent.db
Money is stored as integers (cents) to avoid floating-point issues.
AGPLv3