How kriai/high-signal-dashboard works
High Signal collects and scores headlines from configured feeds and publisher pages, publishes snapshots, and presents them in a browser dashboard. The main evidenced workflow is a scheduled scrape: the job loads source configuration and prior state, runs the scraper and pipeline, then publishes through D1; the Flask app also provides dashboard/API and source-management functionality. Source discovery and testing run as D1-backed jobs. The Worker and browser dashboard are present, but their interaction is not established by the supplied excerpts, so that connection is omitted.
Main entry points: pipeline.py Scrape Pipeline · app.py Flask API · scraper.py Feed Scraper · d1_store.py D1 Publication Store
Components 15
Collection and Processing
- Scheduled Scrape
scrape_job.py - Feed Scraper
scraper.py - Source Configuration
source_config.py - Scrape Pipeline
pipeline.py
Publication and State
- D1 Publication Store
d1_store.py - Cloudflare D1
- Local / Blob Store
store.py - State Importer
scripts/import_state.py
Source Administration
- Source Discovery and Tests
source_tools.py - Source Tool Jobs
source_tool_job.py
Web Experience
- Flask API
app.py - Dashboard Client
static/js/dashboard.js - Dashboard Template
templates/index.html - Cloudflare Worker
worker/src/index.ts
Other components
- GitHub Actions
Connections 21
- GitHub Actions → Scheduled Scrape: schedules
scrape_job.py - Scheduled Scrape → Scrape Pipeline: runs
scrape_job.py - Scheduled Scrape → Feed Scraper: loads
scrape_job.py - Scheduled Scrape → D1 Publication Store: publishes through
scrape_job.py - Scrape Pipeline → Feed Scraper: scrapes with
pipeline.py - Scrape Pipeline → Source Configuration: uses
pipeline.py - Scrape Pipeline → D1 Publication Store: prepares publication
pipeline.py - Feed Scraper → Source Configuration: normalizes sources
scraper.py - D1 Publication Store → Cloudflare D1: queries
d1_store.py - Local / Blob Store → Cloudflare D1: supports D1 backend
store.py - State Importer → D1 Publication Store: imports state
scripts/import_state.py - State Importer → Scrape Pipeline: prepares publication
scripts/import_state.py - Flask API → Feed Scraper: uses
app.py - Flask API → Scrape Pipeline: uses
app.py - Flask API → Local / Blob Store: reads and writes
app.py - Flask API → Source Configuration: uses
app.py - Flask API → Source Discovery and Tests: delegates source tools
app.py - Source Tool Jobs → Source Discovery and Tests: runs
source_tool_job.py - Source Tool Jobs → Feed Scraper: creates
source_tool_job.py - Source Tool Jobs → D1 Publication Store: claims jobs through
source_tool_job.py - Dashboard Template → Dashboard Client: hosts client