portfolio-contextlisted
Install: claude install-skill aiskillstore/marketplace
# Portfolio Buddy 2 - Project Context
## Tech Stack
- **Frontend**: React 19, TypeScript, Vite
- **UI**: Tailwind CSS, shadcn/ui (color system only)
- **Charts**: Chart.js, react-chartjs-2, chartjs plugins (zoom, annotation, date adapter)
- **State**: Plain React (useState, useMemo, useCallback)
- **Data Utils**: date-fns for date manipulation
- **Backend**: Supabase (PostgreSQL)
- **Deployment**: Cloudflare Pages
## Project Purpose
Portfolio analysis tool for investors and futures traders to:
- Compare trading strategies vs benchmark assets (SPY, GLD)
- Calculate correlation matrices between assets (Spearman & Pearson)
- Analyze risk metrics and performance (Sharpe, Sortino, Max DD, etc.)
- Upload trade data via CSV and visualize results
- Apply contract multipliers to adjust metrics for futures trading
- Filter data by date range for period-specific analysis
## Known Issues & Tech Debt
### Current Tech Debt
1. **Unused Dependency**: Recharts (11.5KB) installed but never imported
- Should be removed from package.json
- Currently using Chart.js instead
2. **Oversized Components**: Violate 200-line standard
- PortfolioSection.tsx (591 lines) → needs refactoring into subcomponents
- App.tsx (351 lines) → extract sections into components
- MetricsTable.tsx (242 lines) → improved but still over limit
3. **TypeScript Violations**: 15 instances of `any` type
- usePortfolio.ts: 11 occurrences in trade/metrics types
- useMetrics.ts: 4 occurrences in sort co