Asset Tracker
Rules-driven net-worth dashboard that ingests statements, screenshots, and exports.
- 4
- account types unified
- 0
- hardcoded brokerages
- vision
- screenshot fallback
Demo
Overview
A personal-finance dashboard that consolidates investment holdings across brokerage, retirement, crypto, and savings accounts. It parses CSV / XLSX statements and, for screenshots and unrecognized formats, falls back to an LLM vision parser. Holdings are enriched with yfinance and rendered in a React dashboard covering asset allocation, sector exposure, and goal tracking. All institution logic lives in config JSON, with no hardcoded brokerage rules.
Highlights
- Rules-driven config architecture: institutions defined in JSON, not code
- LLM vision fallback for parsing screenshots / unrecognized formats
- Multi-source aggregation: brokerage, retirement, crypto, savings
- Sector & asset-allocation analytics with yfinance enrichment
Stack & tools
- React 19
- TypeScript
- Vite
- Framer Motion
- Recharts
- Node / Express
- Python (yfinance)
- LLM Vision
- exceljs
Architecture
A net-worth dashboard that meets statements wherever they come from. Structured CSV and XLSX files flow through a deterministic parser, and anything unrecognized, including screenshots, falls back to an LLM vision parser. Holdings are enriched with live yfinance pricing and rendered as a React dashboard. Every institution-specific rule lives in config JSON, so adding a brokerage is a data change, not a code change.