Deploy Checklist
The exact build plan to make the MVP real โ ordered by impact
5 CRITICAL items block the MVP: Update paper position prices ยท Wire 'Copy Trade' button ยท Copy button on Top ยท Build /api/morning-brain endpoint ยท Wire Signals page to
Update paper position prices every 30s
โ CRITICAL2 hrsWhy it matters: Current_price never changes after opening โ P&L is always $0. Useless for paper trading.
How to build: Add a price-refresh job to usePaperPortfolio hook: fetch /api/quotes for all open symbols โ PATCH current_price in Supabase โ recompute P&L. Runs every 30s.
Wire 'Copy Trade' button on Signals page
โ CRITICAL30 minWhy it matters: Signals exist but there's no way to act on them. The entire point of a signal is to open a trade.
How to build: Add a 'Trade' button to each signal row โ opens TradeModal prefilled with signal.entry, signal.sl, signal.tp, signal.symbol, signal.market.
Replace mock portfolio positions with real paper trades
โ HIGH30 minWhy it matters: Portfolio page shows 15 hardcoded frozen positions. Real paper trades exist in Supabase but aren't shown.
How to build: usePaperPortfolio already returns live positions โ it falls back to POSITIONS mock when empty. Once price feed is live (above), remove the POSITIONS mock array entirely.
Wire Dashboard KPIs to real paper portfolio
โ HIGH30 minWhy it matters: Dashboard shows hardcoded $287,450. Meaningless until paper trades have real prices.
How to build: Already wired to usePaperPortfolio โ will auto-fix once price feed is live. No code change needed.
MVP = Phase 1 + Phase 2 + Phase 3
Live prices on paper positions (Phase 1) + copy-trade from signals (Phase 1) + real AI signals (Phase 3) = a working, demonstrable product. Backtest + auth are phase 2 features, not blockers.
Total time to working MVP: ~3 days of focused build