folio
Client-side portfolio tracker for multi-currency holdings
- Language
- TypeScript
- License
- Proprietary
- Category
- Web App
A local-first portfolio tracker for crypto, stocks, ETFs, commodities and fiat. Running cost basis across platforms and currencies, with fee tracking and per-account tax status, CSV import that recognises platform exports, automatic rate fetching with cross-currency triangulation, and everything held in your own browser. Formerly calc.
Features
Four-tab layout — portfolio, assets, platforms, settings — with URL routing for every view
Running cost basis tax model — transaction types and reasons, fee tracking, per-account tax status and a portfolio-level tax summary
Automatic rate fetching from six sources with fallback chains, so one API being down does not stop a valuation
Cross-currency triangulation through USD, GBP, EUR, ETH and BTC pivots, for pairs nobody quotes directly
Historical seed data — daily crypto prices back to 2021, monthly stock, ETF, commodity and fiat data to 2010
CSV import that recognises the export — platform signature detection, symbol resolution and transfer types, from a paste or a file
Price charts with adaptive resolution and market-closed gap filling
Eleven built-in themes across dark professional, dark atmospheric, dark minimal and light families, plus a custom theme editor with WCAG-aware token derivation
IndexedDB persistence (Dexie v10) with JSON export/import and multi-tab sync
Local-first — no accounts, no tracking, data lives in your browser
Optional shared price server — a Cloudflare Worker backed by D1 for backfilling historical rates, which the app works without