How saibhavani-git/since works
Since turns market activity since a chosen moment into ranked, cited stock cards, with quiet items separated and optional narration. Users manage watchlists in the web app; the API also exposes the digest engine to broker partners. The graph follows the documented API/web split and sampled route, composition, authentication, and speech code. Several service internals and web feature hooks were not sampled, so uncertain call chains are omitted.
Main entry points: main.ts Composition root · app.ts HTTP app · app Since web app · digest.routes.ts Digest routes
Components 27
Web experience
- Since web app
web/src/app - Catch-up UI
web/src/features/digest - Watchlist UI
web/src/features/watchlist - Stock views
web/src/features/stock - API client
web/src/lib/api/client.ts
API access
- HTTP app
api/src/app.ts - Auth routes
api/src/modules/auth/auth.routes.ts - Watchlist routes
api/src/modules/watchlist/watchlist.routes.ts - Market routes
api/src/modules/market/market.routes.ts - Digest routes
api/src/modules/digest/digest.routes.ts - Partner routes
api/src/modules/partner/partner.routes.ts
Product services
- Authentication
api/src/modules/auth/auth.service.ts - Watchlist service
api/src/modules/watchlist/watchlist.service.ts - Market service
api/src/modules/market/market.service.ts - Digest service
api/src/modules/digest/digest.service.ts - Story and reports
api/src/modules/digest/story.service.ts - Partner service
api/src/modules/partner/partner.service.ts - Digest ranking
api/src/modules/digest/engine/index.ts
Data and providers
- Speech synthesis
api/src/providers/speech/index.ts - Market data providers
api/src/providers/market-data/index.ts - News providers
api/src/providers/news/index.ts - Story model
api/src/providers/ai/index.ts
Runtime support
- Postgres
api/src/db/client.ts - Prewarming
api/src/modules/prewarm/prewarm.service.ts - Composition root
api/src/main.ts
Other components
- User
- Broker partner
Connections 40
- User → Since web app: uses
- Since web app → Catch-up UI: shows catch-up
- Since web app → Watchlist UI: manages lists
- Since web app → Stock views: browses stocks
- Catch-up UI → API client: requests data
- Watchlist UI → API client: requests data
- Stock views → API client: requests data
- API client → HTTP app: calls API
- Broker partner → Partner routes: calls API
- HTTP app → Auth routes: registers routes
- HTTP app → Watchlist routes: registers routes
- HTTP app → Market routes: registers routes
- HTTP app → Digest routes: registers routes
- HTTP app → Partner routes: registers routes
- Auth routes → Authentication: calls
- Watchlist routes → Watchlist service: calls
- Market routes → Market service: calls
- Digest routes → Digest service: calls
- Digest routes → Story and reports: calls
- Digest routes → Speech synthesis: synthesizes
- Partner routes → Partner service: calls
- Composition root → HTTP app: builds
- Composition root → Authentication: constructs
- Composition root → Watchlist service: constructs
- Composition root → Market service: constructs
- Composition root → Digest service: constructs
- Composition root → Story and reports: constructs
- Composition root → Partner service: constructs
- Composition root → Market data providers: selects provider
- Composition root → News providers: selects provider
- Composition root → Story model: selects model
- Composition root → Speech synthesis: selects provider
- Composition root → Postgres: connects
- Market service → Market data providers: uses data
- Story and reports → News providers: retrieves sources
- Story and reports → Story model: writes story
- Digest service → Digest ranking: ranks changes
- Prewarming → Market service: warms market data
- Prewarming → News providers: warms evidence
- Prewarming → Postgres: reads symbols