How quantisight/monorepo works
Quantisight is a personal-investor research assistant. Investors track portfolios and watchlists, inspect company and market data, screen governed metrics, follow events, and ask cited research questions; the web app serves these through API routes and server-side services backed by PostgreSQL. Separately, operators inspect ingestion health while the ingest CLI plans and runs provider jobs that populate market data. The graph preserves the documented product surfaces and major ingestion stages; some subsystem links are documented rather than verified from sampled implementation excerpts.
Main entry points: api API routes · schema PostgreSQL data · runner.ts Job runner · handlers Job handlers
Components 23
Investor experience
- Web surfaces
apps/web/app/(app) - Company research
apps/web/features/company - Portfolio tracking
apps/web/features/portfolio - Watchlists
apps/web/features/watchlist - Metric screener
apps/web/features/screener - Event timeline
apps/web/features/timeline - Research chat
apps/web/features/chat
Web application
- API routes
apps/web/app/api - Server services
apps/web/server/services - Pipeline dashboard
apps/web/features/pipeline - Pipeline health
apps/web/server/services/pipeline.ts
Data platform
- PostgreSQL data
packages/db/src/schema
Ingestion pipeline
- Ingest CLI
apps/ingest/src/cli.ts - Job planner
apps/ingest/src/jobs/planner.ts - Job runner
apps/ingest/src/jobs/runner.ts - Job handlers
apps/ingest/src/jobs/handlers - Data loaders
apps/ingest/src/loaders - Derived metrics
apps/ingest/src/derive - Credit ledger
apps/ingest/src/budget/ledger.ts - Provider interface
apps/ingest/src/providers/provider.ts - Twelve Data adapter
apps/ingest/src/providers/twelve-data
Shared contracts
- Domain contracts
packages/types/src
Other components
- Investor
Connections 27
- Investor → Web surfaces: uses
README.md - Web surfaces → API routes: requests
README.md - API routes → Server services: dispatches
- Server services → PostgreSQL data: reads and writes
- Company research → API routes: loads research
README.md - Portfolio tracking → API routes: loads analytics
README.md - Watchlists → API routes: manages lists
README.md - Metric screener → API routes: runs screens
README.md - Event timeline → API routes: loads events
README.md - Research chat → API routes: sends queries
README.md - Pipeline dashboard → API routes: checks health
README.md - API routes → Pipeline health: routes health
- Pipeline health → PostgreSQL data: reads status
apps/web/server/services/pipeline.ts - Ingest CLI → Job runner: runs jobs
apps/ingest/src/cli.ts - Ingest CLI → Job planner: plans work
apps/ingest/src/cli.ts - Job planner → PostgreSQL data: queues jobs
- Job runner → Job handlers: dispatches jobs
apps/ingest/src/jobs/handlers/index.ts - Job runner → PostgreSQL data: updates job state
apps/ingest/src/jobs/runner.ts - Job handlers → Data loaders: loads datasets
apps/ingest/src/jobs/handlers/context.ts - Job handlers → Provider interface: requests market data
apps/ingest/src/jobs/handlers/context.ts - Data loaders → PostgreSQL data: writes market data
- Job handlers → Derived metrics: derives metrics
- Job runner → Credit ledger: accounts credits
- Provider interface → Twelve Data adapter: implemented by
apps/ingest/src/providers/twelve-data/client.ts - Twelve Data adapter → Credit ledger: reserves credits
apps/ingest/src/providers/twelve-data/client.ts - Twelve Data adapter → PostgreSQL data: records requests
apps/ingest/src/providers/twelve-data/client.ts - Server services → Domain contracts: uses contracts
apps/web/server/services/pipeline.ts