pftui 0.3.0

A beautiful terminal portfolio tracker with real-time prices, charts, and market data
pftui-0.3.0 is not a library.

pftui is a terminal-based portfolio intelligence dashboard. Track stocks, crypto, commodities, forex, and funds β€” with real-time prices, braille charts, macro indicators, and technical analysis. One binary. Works everywhere. Looks incredible.

Think Bloomberg Terminal, but it runs in your terminal and costs nothing.

curl -fsSL https://raw.githubusercontent.com/skylarsimoncelli/pftui/master/install.sh | bash

Or install via Homebrew, Cargo, Docker, apt, dnf, or Nix β†’


✨ What You Get

  • πŸ“Š Live Portfolio Tracking β€” Add your positions once. Prices update automatically from Yahoo Finance and CoinGecko. See your allocation, daily P&L, total gain, and 52-week range at a glance.

  • πŸ“ˆ Beautiful Charts β€” High-resolution braille charts with SMA overlays, volume bars, and gain-aware coloring. Six timeframes from 1 week to 5 years. Compare any asset against benchmarks β€” BTC vs S&P, Gold vs DXY, anything vs anything.

  • 🌍 Market & Economy Views β€” 18 major market symbols and 14 macro indicators built in. Treasury yields, VIX, DXY, oil, gold, currencies β€” the numbers that move your portfolio, always one keypress away.

  • πŸ” Watchlist β€” Track assets you don't own yet. Set entry targets. See when they're approaching your buy zone.

  • πŸ“‹ Journal β€” Log your trade thesis, track predictions, search your decision history. Your future self will thank you.

  • 🎨 6 Stunning Themes β€” Midnight, Catppuccin, Nord, Dracula, Solarized, Gruvbox. Every pixel themed. Cycle with t.

  • πŸ”’ Privacy First β€” Percentage-only mode stores zero dollar amounts. Toggle p to hide values instantly. Your portfolio stays on your machine, in a local SQLite database. Nothing is sent anywhere.

  • ⌨️ Vim-Native β€” j/k to navigate, / to search, gg/G to jump. If you've used vim, you already know pftui. If you haven't β€” you'll learn in 30 seconds.


πŸ–₯️ Views

Navigate with number keys or click the tabs.

Key View
1 Positions Your holdings β€” live prices, daily change, gain/loss, allocation bars, sparklines
2 Transactions Buy/sell history with cost basis tracking
3 Markets Broad market pulse β€” S&P, NASDAQ, BTC, Gold, DXY, 10Y, VIX, and more
4 Economy Macro dashboard β€” yields, currencies, commodities, FRED data, economic calendar
5 Watchlist Assets you're stalking β€” with price targets and proximity alerts
6 Analytics Portfolio risk, scenarios, correlation matrix, stress testing
7 Journal Trade log, decision history, predictions, searchable notes

Press Enter on any position to open the detail popup. Press Enter again for the full chart.


πŸš€ Quick Start

# Install
curl -fsSL https://raw.githubusercontent.com/skylarsimoncelli/pftui/master/install.sh | bash

# Launch β€” the setup wizard handles the rest
pftui

The setup wizard walks you through adding your first positions with symbol autocomplete and auto-categorization. Choose between Full mode (transactions with cost basis) or Percentage mode (allocations only, no monetary data).

Add a position later:

pftui add-tx

Check your portfolio without opening the TUI:

pftui value          # Quick total value + gain
pftui brief          # Formatted portfolio brief
pftui summary        # Detailed breakdown

πŸ“ˆ Charts

High-resolution Unicode braille rendering. Not ASCII art β€” actual data visualization in your terminal.

  • 6 timeframes β€” h/l to cycle: 1W, 1M, 3M, 6M, 1Y, 5Y
  • Ratio analysis β€” J/K to compare: asset vs SPX, QQQ, BTC, Gold
  • Volume bars β€” block characters scaled to relative volume
  • Moving averages β€” SMA(20) and SMA(50) overlays
  • Gain-aware gradients β€” green for gains, red for losses

πŸ› οΈ CLI

pftui works headless too. Every feature is accessible from the command line.

pftui refresh                    # Fetch latest prices
pftui value                      # Quick portfolio value
pftui brief                      # Markdown brief (great for scripts & agents)
pftui summary --period 1m        # Monthly P&L breakdown
pftui macro                      # Macro dashboard (DXY, VIX, yields, CPI)
pftui performance --vs SPY       # Portfolio vs benchmark returns
pftui calendar --impact high     # Upcoming market-moving events
pftui alerts list                # Check price & allocation alerts
pftui journal search "gold"      # Search your trade journal
pftui watch TSLA --target 300    # Watch with entry target
pftui export json                # Full portfolio export
pftui snapshot                   # Render TUI to stdout (for sharing)

All commands support --json for programmatic access.


🎨 Themes

Six built-in themes. Cycle with t. Your choice persists automatically.

Theme Vibe
Midnight Deep navy with jewel-tone accents (default)
Catppuccin Warm mocha with pastel highlights
Nord Cool arctic blue-gray
Dracula Purple-dark with vivid accents
Solarized Teal-tinted dark with warm/cool balance
Gruvbox Retro warm brown/orange

⌨️ Keys

You'll pick these up in a minute. Full reference in docs/KEYBINDINGS.md.

Key What it does
j / k Navigate down / up
1-7 Switch view
Enter Open detail β†’ open chart
/ Search & filter
t Cycle theme
p Toggle privacy mode
? Help
q Quit

Mouse works too β€” click tabs, click rows, scroll wheel.


πŸ—οΈ Built With

  • Rust β€” fast, safe, single binary
  • ratatui β€” terminal UI framework
  • SQLite β€” bundled, zero-config persistence
  • Yahoo Finance & CoinGecko β€” free, no API keys required

No runtime dependencies. No Node. No Python. No Docker required. Just one binary.


πŸ“¦ Installation

The fastest way:

curl -fsSL https://raw.githubusercontent.com/skylarsimoncelli/pftui/master/install.sh | bash

Homebrew (macOS & Linux)

brew tap skylarsimoncelli/pftui
brew install pftui

Cargo

cargo install pftui

Docker

docker run -it ghcr.io/skylarsimoncelli/pftui:latest

Debian / Ubuntu

echo "deb [trusted=yes] https://skylarsimoncelli.github.io/pftui/apt stable main" | sudo tee /etc/apt/sources.list.d/pftui.list
sudo apt update && sudo apt install pftui

Fedora / RHEL

sudo tee /etc/yum.repos.d/pftui.repo << 'EOF'
[pftui]
name=pftui
baseurl=https://skylarsimoncelli.github.io/pftui/rpm
enabled=1
gpgcheck=0
EOF
sudo dnf install pftui

Nix

nix run github:skylarsimoncelli/pftui

From Source

git clone https://github.com/skylarsimoncelli/pftui.git
cd pftui && cargo build --release
./target/release/pftui

πŸ—ΊοΈ Roadmap

pftui is under active development. Here's what's coming:

  • Live portfolio tracking with cost basis
  • Braille charts with SMA overlays and ratio analysis
  • Markets & Economy views with 30+ indicators
  • 6 themes, vim keys, mouse support, privacy mode
  • Headless CLI (refresh, brief, summary, export, snapshot)
  • Technical indicators (RSI, MACD, Bollinger Bands) on every position
  • Unified alert engine (price targets, allocation drift, indicator thresholds)
  • Portfolio performance tracking with benchmark comparison
  • Economic calendar with impact ratings
  • Correlation matrix and risk analytics
  • Scenario stress testing ("what if oil hits $100?")
  • Central bank & sovereign holdings tracker
  • Web interface with TradingView charts
  • Native OS notifications

Full roadmap: TODO.md Β· Feature specs: docs/ANALYTICS-SPEC.md


🀝 Contributing

Issues and PRs welcome. If you use pftui and have ideas, open an issue.


πŸ“ License

MIT β€” do whatever you want with it.