Built a full-stack arbitrage screener that detects price gaps between NSE and BSE for Indian large-cap stocks in real time. The backend runs two async services — a price fetcher (yfinance + ThreadPoolExecutor) and an arbitrage engine — decoupled via Redis, with live prices streamed to the browser over WebSocket. Deployed on Render + Vercel with Supabase (Postgres) and Upstash (Redis).