Logan Jonesupdated jul 2026
← index

WealthWatch

2026 · self-hosted · in daily use

Money apps want your bank login and your data. WealthWatch keeps both at home. Import the statements, keep everything local, and get answers: where the money goes, what the portfolio is doing, how far out retirement is.

fig. 1 · net worth, allocation, where the money goes · demo dataset · [zoom]

fig. 1 · net worth, allocation, where the money goes · demo dataset[click] zoom in · [esc]

What it does

  • CSV imports from Fidelity, Chase, Capital One, and Wells Fargo, deduplicated. Merchants categorized automatically.
  • Net worth across all accounts with historical snapshots. Investment positions with cost basis and trade lots. Home equity with improvement records.
  • Spending, cash flow, and income with rolling averages and monthly breakdowns. Recurring-bill detection. Coverage-gap flags that admit when a card’s history is permanently lost rather than pretending completeness.
  • Live market data: watchlist quotes, OHLCV candles from one-minute to monthly, company financials, the treasury yield curve, economic and earnings calendars.
  • FIRE timelines under configurable assumptions (spending, returns, inflation, withdrawal rate, Social Security). Coast FI calculator, milestone tracking, side-by-side scenarios.
fig. 2 · retirement scenarios under configurable assumptions · demo dataset · [zoom]

fig. 2 · retirement scenarios under configurable assumptions · demo dataset[click] zoom in · [esc]

How it’s built

.NET 10 API, React frontend, SQLite. A background service backfills candle data across two market-data providers so charts stay warm without hammering either one. Playwright covers the UI end to end.

The hard parts

  • Four banks, four export dialects, overlapping date ranges, and no stable transaction IDs. The import pipeline has to deduplicate without ever silently dropping a real transaction.
  • Being honest about missing data. Lost statement periods are detected and flagged as permanent gaps instead of being papered over. An analytics tool that guesses is worse than one that admits.
[0] ~/portfoliominnesota