ETF Look-Through
LiveFinance / Tool
See the actual stocks behind your ETFs - and how much of each you really own.
What it does
Index investors hold the same stocks many times over without seeing it - the Microsoft inside VOO is also inside VFV and XEQT. ETF Look-Through decomposes every fund in your portfolio into its published holdings and adds up the overlap, so before you buy a stock directly you can see exactly how much of it you already own, which funds it comes through, and what share of your money sits in each market.
Current features
- Portfolio builder - pick from a curated catalog of 27 popular US and Canadian ETFs, or add direct stock positions that merge into the same look-through
- All-in-one funds unwrapped - XEQT, VEQT, XGRO and VGRO decompose through their underlying funds, bond sleeves and all
- Auto-add any ETF by ticker - the page fetches a fund's top-25 holdings and live price on the fly and publishes it to a shared community catalog (Firestore), so the next visitor gets it too
- Live prices - stockanalysis.com quotes direct for US listings, Yahoo through CORS proxies for TSX ones, ECB for the USD/CAD rate, auto-refreshing when over an hour stale; every price stays hand-editable
- Answer card - search a ticker and get the direct answer: you already own $X of it, through these funds
- Donut of top exposures, market-mix bar (US / Canada / international / emerging / bonds), and a searchable holdings table with per-fund source chips
- No accounts, no build step - entries persist in the browser and export/import as JSON
Tech stack
- Vanilla JS
- SVG
- Firebase Firestore
What I learned
The hard part was never the math - it was data honesty. Public holdings pages itemize only a fund's top ~25 positions, so the UI budgets for what it does not know: an explicit coverage number, visible 'smaller holdings' rows, and a warning when an auto-added fund is really a fund of funds. Also a practical lesson in hosting: the page began as a sandboxed Claude artifact that could not fetch anything, and every capability it gained since - live quotes, auto-add, the shared catalog - came from moving to real static hosting.
What's next
- Curated look-throughs for popular funds the community adds
- A first-party quote proxy so TSX prices stop depending on public CORS proxies