Personal Market Monitoring Terminal
Data · Web App · AI
The problem
Following ETF holdings changes, volatility, yields and sentiment in one place, with history kept and every number explained in plain English.
What I built
Sole designer and builder.
Features
- ETF holdings monitor with diffing, immutable reference entry prices and lifecycle history
- Composite market sentiment score (0-100) with component breakdown
- VIX term structure and regimes, yield curve inversion/steepening detection
- Paper-trading strategy leaderboard on genuine holdings additions
- Two-stage DCF calculator and fixed-fractional position-sizing calculator
- Data Health page fed by an ingestion run log
Integrations
- Free public data providers behind swappable interfaces (iShares, FRED, CBOE, Yahoo, Stooq)
- GitHub Actions cron ingestion
- Telegram Bot API (alerts planned, not live)
Decisions I made
- Never show fake data: unavailable metrics display an explicit reason
- Append-only snapshots enforced with database triggers
- Every data provider sits behind an interface so free sources can be swapped for paid ones
- All financial math in pure, unit-tested functions
Outcome
A single-user 'Bloomberg Terminal Lite' that ingests free data every 3 hours, keeps an append-only history and explains every metric in plain English.
Stack
Next.js · TypeScript · Tailwind CSS · Prisma · Supabase Postgres · Vercel · GitHub Actions · Vitest
A personal tool, not available to the public. It is not investment advice.