How dayyansheikh/arepo works
Arepo is a read-only prediction-market research and screening product. Users explore markets, inspect explainable anomaly signals and opportunity rankings, and review replay or prospective-cohort results through a frontend backed by FastAPI. The backend normalizes public Polymarket data, serves live/cached/replay modes, and supports accounts and alerts. The map preserves the documented research, evaluation, and education surfaces; several unsampled routes and services are represented by their existing directories, and their internal links are omitted where source evidence was unavailable.
Main entry points: market_service.py Market service · pipeline.py Ingestion pipeline · api.ts API client · research_engine.py Cohort selection
Components 24
Research frontend
- Arepo surfaces
frontend/app - API client
frontend/lib/api.ts - Account pages
frontend/app/account/page.tsx
API and market services
- FastAPI app
backend/astrolabe/api/app.py - Product routes
backend/astrolabe/api/routes - Market service
backend/astrolabe/service/market_service.py
Market data and analytics
- Ingestion pipeline
backend/astrolabe/ingest/pipeline.py - Data normalization
backend/astrolabe/ingest/normalize.py - Market domain
backend/astrolabe/domain/models.py - Market storage
backend/astrolabe/storage/repository.py
Signals and evaluation
- Opportunity board
backend/astrolabe/opportunity/service.py - Signal analytics
backend/astrolabe/analytics - Replay backtest
backend/astrolabe/replay/player.py - Signal discovery
backend/astrolabe/discovery/signal_service.py - Cohort selection
backend/astrolabe/evaluation/research_engine.py - Weekly evaluation
backend/astrolabe/evaluation/engine.py - Evaluation records
backend/astrolabe/evaluation/research_repository.py
Accounts and alerts
- Account services
backend/astrolabe/accounts - Account records
backend/astrolabe/accounts/models.py - Email delivery
backend/astrolabe/accounts/email.py - Personalized digest
backend/astrolabe/digest/service.py - Alert providers
backend/astrolabe/alerts/provider.py
Other components
- Researcher
- Polymarket APIs
Connections 22
- Researcher → Arepo surfaces: uses
README.md - Arepo surfaces → API client: requests data
- API client → FastAPI app: calls API
README.md - FastAPI app → Product routes: mounts
backend/astrolabe/api/app.py - Product routes → Market service: serves market data
- Market service → Signal analytics: computes signals
backend/astrolabe/service/market_service.py - Market service → Replay backtest: loads replay
backend/astrolabe/service/market_service.py - Market service → Polymarket APIs: retrieves live data
- Ingestion pipeline → Polymarket APIs: fetches public data
backend/astrolabe/ingest/pipeline.py - Ingestion pipeline → Data normalization: normalizes
backend/astrolabe/ingest/pipeline.py - Data normalization → Market domain: creates models
backend/astrolabe/ingest/normalize.py - Ingestion pipeline → Market storage: persists snapshots
backend/astrolabe/ingest/pipeline.py - Market service → Signal discovery: reads scan data
backend/astrolabe/service/market_service.py - Signal discovery → Market storage: reads snapshots
backend/astrolabe/discovery/signal_service.py - Cohort selection → Opportunity board: scores markets
backend/astrolabe/evaluation/research_engine.py - Cohort selection → Evaluation records: freezes entries
backend/astrolabe/evaluation/research_engine.py - Weekly evaluation → Evaluation records: records rankings
backend/astrolabe/evaluation/engine.py - Account pages → API client: uses API
- Account services → Account records: persists users
backend/astrolabe/accounts/models.py - Account services → Email delivery: sends verification
backend/astrolabe/accounts/manager.py - Personalized digest → Account records: reads preferences
backend/astrolabe/digest/service.py - Personalized digest → Alert providers: delivers alerts
backend/astrolabe/digest/service.py