How hemanthsrp/hackmidwest26 works
Folio is an evidence-backed stock-research application: source adapters collect dated news, filings, disclosures, and market signals; the Research API and decision-maker turn stored evidence into a transparent assessment; the authenticated frontend presents research and account features. Separate branches cover portfolio linking, notifications, and option-volatility diagnostics. The README documents the main service boundaries; source-index references and excerpts support internal calls and persistence. Several frontend and auxiliary service internals were not sampled, so uncertain connections are omitted.
Main entry points: app.py Research API · v1.py Research and account routes · service.py Decision workflow · ingest.py Source ingestion
Components 23
Web application
- Research screens
frontend/src/app/(dashboard)/stocks/[symbol]/page.tsx - Research endpoint
frontend/src/app/api/research/route.ts - Account and app APIs
frontend/src/app/api - Frontend database
frontend/src/lib/db.ts
Evidence collection
- Source ingestion
microservices/scraper-analysis/src/scraper_analysis/pipeline/ingest.py - Evidence sources
microservices/scraper-analysis/src/scraper_analysis/sources - Evidence processing
microservices/scraper-analysis/src/scraper_analysis/pipeline - Evidence store
microservices/scraper-analysis/src/scraper_analysis/storage/store.py
Research and assessment
- Research API
microservices/research-api/src/research_api/app.py - Research and account routes
microservices/research-api/src/research_api/v1.py - Assessment orchestration
microservices/research-api/src/research_api/assessment.py - Research user records
microservices/research-api/src/research_api/storage.py - Decision workflow
microservices/decision-maker/src/decision_maker/service.py - Evidence retrieval
microservices/decision-maker/src/decision_maker/retrieval.py - Evidence readings
microservices/decision-maker/src/decision_maker/legs.py - Assessment explanation
microservices/decision-maker/src/decision_maker/explain.py
External integrations
- Robinhood read-only link
microservices/research-api/src/research_api/broker.py - Notifications and digest
microservices/research-api/src/research_api/notifications.py
Market diagnostics
- Volatility surface
microservices/volatility-surface-builder/src/vol_surface_builder/pipeline.py - Option data feed
microservices/volatility-surface-builder/src/vol_surface_builder/data_feed.py
Other components
- Research user
- Robinhood
- Market and news providers
Connections 23
- Research user → Research screens: views research
README.md - Research screens → Research endpoint: requests research
- Research endpoint → Research API: forwards requests
- Research user → Account and app APIs: uses account features
README.md - Account and app APIs → Frontend database: uses
- Research API → Assessment orchestration: routes assessments
microservices/research-api/src/research_api/app.py - Research API → Research and account routes: registers routes
microservices/research-api/src/research_api/app.py - Research API → Research user records: uses persistence
microservices/research-api/src/research_api/app.py - Research and account routes → Research user records: reads and writes
microservices/research-api/src/research_api/v1.py - Research and account routes → Robinhood read-only link: handles broker flow
microservices/research-api/src/research_api/v1.py - Research and account routes → Notifications and digest: uses notifications
microservices/research-api/src/research_api/v1.py - Assessment orchestration → Decision workflow: invokes assessment
microservices/research-api/src/research_api/assessment.py - Source ingestion → Evidence sources: fetches evidence
microservices/scraper-analysis/src/scraper_analysis/pipeline/ingest.py - Source ingestion → Evidence processing: processes records
microservices/scraper-analysis/src/scraper_analysis/pipeline/ingest.py - Source ingestion → Evidence store: saves records
microservices/scraper-analysis/src/scraper_analysis/pipeline/ingest.py - Evidence sources → Market and news providers: retrieves data
- Evidence retrieval → Evidence store: reads evidence
microservices/decision-maker/src/decision_maker/retrieval.py - Decision workflow → Evidence retrieval: loads records
microservices/decision-maker/src/decision_maker/service.py - Decision workflow → Evidence readings: builds readings
microservices/decision-maker/src/decision_maker/service.py - Decision workflow → Assessment explanation: creates explanation
microservices/decision-maker/src/decision_maker/service.py - Robinhood read-only link → Robinhood: uses OAuth
- Volatility surface → Option data feed: retrieves option data
microservices/volatility-surface-builder/src/vol_surface_builder/pipeline.py - Option data feed → Market and news providers: queries market data