ETF Portfolio Dashboard
Notes on the private ETF dashboard, portfolio imports, live quote refresh, and how the finance area should support decisions without pretending to be advice.
Notes on the private ETF dashboard, portfolio imports, live quote refresh, and how the finance area should support decisions without pretending to be advice.
## Purpose
The ETF dashboard should help organize observations, allocations, costs, and imported account data. It should make the portfolio easier to inspect, not turn the website into a prediction machine.
## Useful boundaries
- Show portfolio structure clearly.
- Separate notes from recommendations.
- Make refresh/import status visible.
- Keep private account data behind authentication.
This connects to [[personal-website-as-operating-system]] because finance is one of the private tools inside the larger personal-site system.
If portfolio snapshots or import artifacts ever need durable storage, [[cloudflare-r2-d1-pages]] is the infrastructure note to revisit.
## Later possibilities
The dashboard could eventually compare simple assumptions, volatility, and allocation drift. Statistical notes such as [[kernel-ridge-regression]] belong nearby, but they should not blur into financial advice.
## Provider Status As Product Surface
The recent market-data work made one rule concrete: provider health is part of the product, not just a backend log.
The dashboard should show compact status for API key availability, cache freshness, fallback behavior, and data quality. Provider keys should stay backend-only, while the frontend receives a safe status contract. This keeps the private finance tool useful without turning missing credentials or stale market data into silent UI failure.
That pattern belongs with [[codex-product-production-loop]] because the feature is only complete when the user can tell whether the data is live, cached, degraded, or unavailable.
## Recent Update - 2026-W26
[[weekly-review-2026-w26]] keeps finance dashboard claims conservative. The current reusable lesson is that provider freshness and fallback state should be visible; live implementation details should be checked in the finance workspace before this note becomes evergreen.
Open this garden note