
Personal Finance Expense Tracker TUI
Track income, expenses, budgets, and savings goals with rich terminal charts — all in a single binary
sha256:a2495613…· 95.6 KBRecommended Stack
| Component | Role | Version | Notes |
|---|---|---|---|
| Rust (stable) | language | >=1.75.0 | Single-binary output, compile-time safety, sub-millisecond query performance, no runtime dependencies beyond the binary. |
| Ratatui | tui-framework | >=0.29.0 | Dominant terminal UI framework with Chart, BarChart, Table, Tabs, Popup, and Gauge widgets. Active ecosystem. |
| crossterm | terminal-io | >=0.28.0 | Event-driven terminal I/O with async event streams for keyboard input, terminal resizing, and color support across all platforms. |
| tokio | async-runtime | >=1.30.0 | Async event loop for terminal event streams and background tasks (CSV import, backup, recurring transaction generation). |
| rusqlite (or equivalent) | database-driver | >=0.32.0 | Synchronous SQLite driver with prepared statements, transactions, WAL mode, and FTS5 full-text search. Zero-setup local database. |
| rust_decimal (or equivalent) | decimal-arithmetic | >=1.37.0 | Exact decimal arithmetic for financial calculations. 28 significant digits, no binary floating-point rounding errors. |
| chrono (or time) | date-time | >=0.4.0 | Date/time parsing, formatting, range calculations, recurring transaction scheduling, and report period generation. |
| serde + serde_json | serialization | >=1.0.0 | JSON serialization for configuration, data export, and persistent state. Pretty-printed output for scripting. |
| csv | csv-io | >=1.3.0 | CSV import with column detection and RFC 4180 export. Flexible date parsing for bank formats. |
| clap | cli-parser | >=4.5.0 | CLI subcommands for non-TUI usage (init, import, export, balance, tx list). |
| tui-piechart | chart-widget | >=0.3.0 | Category spending breakdown pie charts in standard and high-resolution modes. |
| ulid | id-generation | >=1.1.0 | Monotonically increasing transaction identifiers. Sortable, UUID-compatible, deterministic ordering. |
Requirements
External Services
- SQLiteself-hostable
Platform Notes
- •Designed for local-first / offline operation
Data Model
accounts
Financial accounts for tracking money across different sources
categories
Hierarchical category tree for organizing transactions
transactions
Financial transactions (income, expense, transfer)
budgets
Monthly budget allocations per category
goals
Savings goals with targets and tracking
subscriptions
Recurring subscriptions with billing tracking
recurring_rules
Rules for auto-generating recurring transactions
exchange_rates
Historical exchange rates for multi-currency support
audit_log
Immutable log of all significant application changes
net_worth_entries
Daily net worth snapshots for trend tracking
settings
Application configuration settings
External Dependencies
- 🔴rust toolchaininfrastructureRequired
Rust compiler and cargo for building the application. Installed via rustup.rs. Pre-built binaries available for users without Rust.
Tags
Details
- Category
- productivity
- Difficulty
- high
- Version
- 1.1.1
- Published
- 6/16/2026
Related Blueprints
Coming soon...