How shreyasg13/glassbox-trading-agents works
GlassBox is a web platform for evidence-first stock research and simulated paper trading, not an order-execution system. Users explore committee signals, portfolios, comparisons and reports in the Next.js app; the FastAPI API serves those views and administrative controls. The documented daily workflow waits for finalized market prices, refreshes data, runs the committee and paper accounts, then produces research and reporting outputs. The graph includes documented capabilities whose implementation was not sampled; their internal wiring is shown only where supported by the README or excerpts.
Main entry points: routers HTTP routers · committee_graph.py Investment committee · pipeline.py Daily pipeline · paper_cycle.py Paper accounts
Components 28
Web experience
- Next.js app
frontend/app/(app)/dashboard/page.tsx - API client
frontend/lib/api.ts - Admin console
frontend/components/admin/strategy/ResearchPanel.tsx
API and jobs
- FastAPI gateway
backend/app/main.py - HTTP routers
backend/app/routers - Daily pipeline
backend/app/pipeline.py
Research and data
- Investment committee
backend/app/committee_graph.py - Research and filings
backend/app/research.py - Market data sync
backend/app/data_source.py - Free public data
backend/app/free_data.py - LLM failover
backend/app/llm_router.py - Model providers
backend/app/providers/factory.py
Simulation and evidence
- Paper accounts
backend/app/paper_cycle.py - Quant baselines
backend/app/strategy.py - Risk checks
backend/app/risk.py - Portfolio views
backend/app/portfolio_view.py - Evidence gate
backend/app/research.py - Challenger arena
backend/app/arena.py - Reports and digests
backend/app/digest.py
Identity and integrations
- Application storage
backend/app/db.py - Authentication
backend/app/auth.py - Google OAuth
backend/app/oauth_google.py - Speech generation
backend/app/tts.py
Other components
- Investor or admin
- Market data provider
- LLM services
- Google identity
- Email delivery
Connections 35
- Investor or admin → Next.js app: uses
- Next.js app → API client: requests data
- Admin console → API client: requests data
- API client → FastAPI gateway: HTTP requests
- FastAPI gateway → HTTP routers: dispatches routes
- HTTP routers → Application storage: reads and writes
- HTTP routers → Investment committee: runs analysis
- HTTP routers → Portfolio views: serves portfolio
- HTTP routers → Evidence gate: serves evidence
- HTTP routers → Challenger arena: records calls
- HTTP routers → Reports and digests: serves reports
- Daily pipeline → Market data sync: syncs prices
- Daily pipeline → Free public data: refreshes data
- Daily pipeline → Investment committee: runs committee
- Daily pipeline → Paper accounts: runs paper cycle
- Daily pipeline → Reports and digests: creates digests
- Market data sync → Market data provider: fetches prices
- Free public data → Market data provider: fetches filings
- Investment committee → Research and filings: uses research
- Investment committee → Risk checks: checks calls
- Investment committee → LLM failover: requests completion
- LLM failover → Model providers: selects provider
- Model providers → LLM services: sends prompts
- Paper accounts → Investment committee: uses calls
- Paper accounts → Quant baselines: compares baselines
- Paper accounts → Application storage: persists results
- Evidence gate → Application storage: reads scored history
- Challenger arena → Paper accounts: scores challengers
- Reports and digests → Email delivery: sends digests
- HTTP routers → Authentication: checks identity
- Authentication → Application storage: reads identity
- HTTP routers → Google OAuth: starts OAuth
- Google OAuth → Google identity: exchanges code
- Next.js app → Speech generation: requests speech
- Speech generation → LLM services: generates audio