Daily Market Analysis
Real-time market workstation that turns live stock, forex, and macro data into AI-generated briefs, grounded by a three-agent pipeline and retrieval-augmented generation.

Problem
Live market data is easy to pull; a trustworthy written brief about what it means is not. Either you pay for an analyst's report or you ask an LLM directly, and an LLM asked to "summarize today's market" without grounding will happily produce a plausible-sounding paragraph with numbers it made up.
System design & approach
Daily Market Analysis is a Python Shiny dashboard that pulls live stocks, forex, commodities, news sentiment, and economic indicators from the Alpha Vantage API into one interactive workstation, with scenario projections, position calculators, and multi-chart analytics per section. Beyond the dashboard, it runs a three-agent AI pipeline: an Orchestrator that plans the analysis, a Market Analyst that writes an evidence-based memo, and a Lead Editor that condenses it into a clean brief. Retrieval-augmented generation grounds every report in a custom market-notes corpus, so the AI is retrieving and citing real material instead of guessing at it.
Challenges
Splitting the work across an Orchestrator, an Analyst, and an Editor, with RAG grounding underneath all of it, was how "stay tethered to real numbers" became an architectural property of the pipeline rather than something you just hope a single prompt does. On the data side, live financial APIs rate-limit and occasionally go down mid-session, and a dashboard that just breaks when that happens isn't usable - so I added cached fallbacks and automatic LLM provider failover.
My role
I designed and built the dashboard, the three-agent pipeline, and the RAG grounding layer for this project - the full path from live data in, to a written brief out.
Retrospective
One interactive workstation unifying five live data surfaces, producing a grounded AI brief through a three-agent editorial pipeline instead of a single ungrounded model call, deployed on Render.
Coordinating multiple LLM agents with distinct responsibilities - plan, write, edit - instead of one prompt trying to do everything, and treating "groundedness" as an explicit architectural requirement rather than trusting a model to just get it right.
- Python
- Shiny
- Alpha Vantage API
- RAG