A news sentiment dashboard for a stock watchlist. Fetches recent headlines per ticker from Finnhub, scores each one bullish/bearish/neutral with a short rationale, and shows an aggregated sentiment breakdown per stock.
- You maintain a watchlist of tickers (persisted in your browser's localStorage).
- The app fetches recent company news per ticker from Finnhub.
- Each headline is scored bullish/bearish/neutral with a rationale — via the Claude API if
ANTHROPIC_API_KEYis set, otherwise via a local keyword-based fallback classifier. - Scores are aggregated per ticker into a sentiment breakdown chart and an overall verdict.
npm install
cp .env.example .env.localFill in .env.local:
FINNHUB_API_KEY— required. News fetching has no fallback without it. Get a free key at finnhub.io/register.ANTHROPIC_API_KEY— optional. Without it, sentiment scoring automatically falls back to a rule-based keyword classifier, so the app is fully demoable without a Claude API key.
npm run devOpen http://localhost:3000.
Next.js (App Router) + TypeScript, Tailwind CSS, Recharts, @anthropic-ai/sdk.