FiTui

July 18, 2026 ยท View on GitHub

Built With Ratatui

GitHub Release Crates.io Version Recent Downloads Last Commit

A lightweight terminal-based personal finance tracker. Record transactions, track spending, and view financial insights from your terminal.

Version: 1.0.1


Features

  • Transaction management: add, edit, and delete credit/debit entries
  • Stats view with totals and spending breakdowns by tag
  • Recurring transactions for bills, salary, and subscriptions
  • Local SQLite storage with configurable tags and currency
  • Keyboard-driven interface

Screenshots

Main Interface

Main interface

Stats View

Stats view


Installation

Via Cargo

cargo install fitui

Build from Source

Requires Rust.

cargo build --release

Binary: target/release/fitui (Windows: fitui.exe)

Linux / macOS

mkdir -p ~/.local/bin
cp target/release/fitui ~/.local/bin/
chmod +x ~/.local/bin/fitui
fitui

Ensure ~/.local/bin is in your $PATH:

export PATH="$HOME/.local/bin:$PATH"

Windows

  1. Copy fitui.exe to a permanent location (e.g. C:\Users\<you>\bin\)
  2. Add that folder to your PATH via System Properties
  3. Run fitui from any terminal

Termux (Android)

pkg install rust
cargo build --release
cp target/release/fitui ~/.local/bin/
fitui

Note: first build may take 10-15 minutes on mobile.


Configuration

Config is created automatically on first run.

OSDatabaseConfig
Linux~/.local/share/fitui/budget.db~/.config/fitui/config.yaml
macOS~/Library/Application Support/com.ayan.fitui/budget.db~/Library/Preferences/com.ayan.fitui/config.yaml
WindowsAppData\Roaming\ayan\fitui\data\budget.dbAppData\Roaming\ayan\fitui\config\config.yaml

config.yaml

currency: "$"  # $, EUR, GBP, JPY, INR, etc.
theme: "default"  # default, dracula, nord, gruvbox, or any custom theme

tags:
  - food
  - travel
  - shopping
  - bills
  - salary
  - other

custom_themes:
  dracula:
    accent: "#bd93f9"
    accent_soft: "#6272a4"
    credit: "#50fa7b"
    debit: "#ff5555"
    muted: "#6272a4"
    subtle: "#44475a"
    background: "#282a36"
    surface: "#343746"
    row_alt: "#2d2f3b"
    foreground: "#f8f8f2"

Themes & Customization

FiTui supports out-of-the-box themes and full color customization using the config.yaml file.

Built-in Themes

Change the theme field in config.yaml to one of the following:

  • default - Ocean blue dark palette
  • dracula - Vibrant vampire purple palette
  • nord - Cool arctic frost blue palette
  • gruvbox - Warm retro yellow/green palette

Custom Themes

You can define your own themes under the custom_themes key or override the preconfigured ones. Colors can be defined as hex codes (e.g. #ffffff), standard color names (e.g. red, blue), or RGB format (e.g. rgb(24, 24, 36)):

PropertyDescription
accentMain accent color (headers, cursor, active tab, and main titles)
accent_softBorder color for panel boundaries
creditText color for income (credits)
debitText color for expenses (debits)
mutedLabels and secondary metadata hints
subtleBorders, vertical grids, and divider lines
backgroundPrimary terminal view background
surfacePopups, highlights, and header row background
row_altAlternating table row background color
foregroundStandard text color

Planned

  • CSV import from bank statements and payment apps
  • Budget limits per tag
  • Search and filter by amount, date, or tag
  • Export to CSV/PDF
  • Custom date range stats
  • Multi-currency support
  • Transaction notes
  • Data backup and sync

Feature request or bug? Open an issue.


Changelog

[1.0.1] - 2026-07-18

Added

  • Centered interactive Filter modal popup (f key to open, c key to clear).
  • Date range filtering (Start Date and End Date).
  • Real-time date input auto-formatting with auto-hyphenation.
  • Visual dynamic placeholder date mask (YYYY-MM-DD) matching cursor position.
  • Interactive Tag selection cycling (with Left/Right arrow keys).
  • Custom YAML theme definitions and presets (Nord, Dracula, Gruvbox).
  • Startup config auto-migration mapping newer theme attributes.
  • BackTab backwards focus cycling in transaction entry form.
  • Random transaction generator utility script for dev environments.

Changed

  • Bounded transaction display rendering and scrolling navigation limits to last 15 items.

Fixed

  • Refreshed clamp checks to prevent out-of-bounds scrolling in normal list selection.

[0.3.0] - 2026-02-27

Added

  • Tab-based navigation across views
  • Active tab indicator
  • Transaction date grouping
  • Ratio-based column constraints for consistent table layout
  • Improved empty state messaging

Changed

  • Transactions list refactored to table layout
  • UI formatting and spacing improvements
  • Cleaner tab rendering

Fixed

  • Quit now works regardless of current mode

License

MIT