Skip to content

ShippedApr — Sep 2026

Market Sentiment Visualizer

A weather forecast for market psychology.

01The problem

A dashboard that folds public market data into one 0 to 100 fear/greed score: VIX, put/call ratio, sector breadth and a fear & greed proxy, weighted and refreshed every 15 minutes in market hours.

02Architecture

A React (Vite) front end with a sentiment gauge, sparkline cards and an 11-ETF sector heatmap, over a FastAPI backend. The backend exists because browsers block direct calls to most financial endpoints (CORS), so it fetches server-side and proxies.

Free market data lags 15 minutes anyway, so it caches aggressively as JSON files: 15 minutes in market hours, 24 hours after close. No Redis needed. Failed fetches fall back instead of breaking the page.