How haskaomni/serenity works
Serenity Signal Dashboard collects X posts, derives ticker mentions, enriches them with daily prices, and presents a local research dashboard. Its separate stock-scorer skill analyzes the same SQLite snapshot. The sampled excerpts establish ingestion, API, UI, and scoring behavior; the README documents raw JSON storage and TradingView backfill, though the backfill wiring into the database is visible only in its own script.
Main entry points: ingest.py X request fetch · fetch_tv_price.py TradingView backfill · server.py HTTP API and static server · score_serenity_stock.py Ticker signal scorer
Components 18
Collection and enrichment
- Ingestion commands
scripts/ingest.py - X request fetch
scripts/ingest.py - Tweet and ticker extraction
scripts/ingest.py - Yahoo price sync
scripts/ingest.py - TradingView backfill
scripts/fetch_tv_price.py - Copied X requests
x_curl
Local data
- Serenity SQLite
- Raw X JSON
Dashboard
- HTTP API and static server
scripts/server.py - Dashboard UI
dashboard/app.js - Dashboard page and styles
dashboard/index.html
Signal analysis
- Ticker signal scorer
skills/serenity-stock-scorer/scripts/score_serenity_stock.py - Scoring guidance
skills/serenity-stock-scorer/SKILL.md
Other components
- Operator
- X GraphQL
- Yahoo chart API
- TradingView
- Dashboard user
Connections 20
- Operator → Ingestion commands: runs commands
- Ingestion commands → X request fetch: dispatches fetch
- X request fetch → Copied X requests: reads requests
- X request fetch → X GraphQL: fetches pages
- X request fetch → Tweet and ticker extraction: passes responses
- Tweet and ticker extraction → Serenity SQLite: stores posts and mentions
- Tweet and ticker extraction → Raw X JSON: stores raw responses
- Ingestion commands → Yahoo price sync: dispatches prices
- Yahoo price sync → Serenity SQLite: writes price bars
- Yahoo price sync → Yahoo chart API: requests chart data
- Operator → TradingView backfill: runs backfill
- TradingView backfill → TradingView: requests candles
- TradingView backfill → Serenity SQLite: writes price bars
- Dashboard user → Dashboard UI: uses dashboard
- Dashboard UI → HTTP API and static server: requests API
- HTTP API and static server → Serenity SQLite: queries data
- HTTP API and static server → Dashboard page and styles: serves page
- Ticker signal scorer → Serenity SQLite: reads snapshot
- Operator → Ticker signal scorer: scores ticker
- Scoring guidance → Ticker signal scorer: guides scoring