๐ Seats Flipped Tracker
๐ฌ Live Election Alert Feed LIVE STREAM
Real-time stream of every ballot drop, lead change, race call, and analytical math update broadcast by Election Watcher.
โก Multi-Network National & 50-State Feed Switchboard
Current Mode: National & 50-State Stack (9 Feeds Active)One-click scraper mode switchboard. The default National & 50-State Stack (9 Feeds) aggregates AP/NYT, NBC News Decision Desk, and CNN/Edison NEP across all U.S. Senate, U.S. Governor, and U.S. House contests nationwide. Local/county scrapers are modularized under Phase 2.
Target Feed Sources (National, Statewide & Subscribed States)
Configure automated election scrapers and APIs across national (U.S. Senate, U.S. House), state (U.S. Governor, State Legislatures), and optional Phase 2 local feeds. Use "Test Feed" to verify HTTP status and contest discovery.
| ID | Source Name & Live Status | Tier | Adapter | Interval | Endpoint URL | Actions |
|---|
Core Engine Settings
Alert Channels (MQTT & Homelab)
๐ How-To Runbook: Special Elections & Next Election Season Rollover
Admin Operations GuideQuick-reference checklist for reusing The Big Board for an off-cycle Special Election (UI-only, under 2 minutes) or rolling over to the Next Full General Election Cycle (e.g., Nov 2027 or Nov 2028).
-
Archive & Reset (Optional): To save current results before wiping, copy
/config/election-watcher/data/election_watcher.dbongateway, then click ๐๏ธ Reset Board in the top Admin bar. -
Add the Special Election Feed: Click + Add Custom Feed Source above and use the matching adapter:
- AP / NYT (
nyt_ap):https://static01.nyt.com/elections-assets/pages/data/YYYY-MM-DD/results-<state-slug>.json - PA Dept. of State (
pa_dos_api): Updateelectionid=<ID>andelectiontype=Sin theelectionreturns.pa.govURL. - County / Clarity (
lancaster_enhancedorclarity): Paste the county special election JSON endpoint.
- AP / NYT (
- Verify & Save: Click Test Feed on the new row to confirm contests parse cleanly, then click ๐พ Save and Apply Configuration.
- Go Live & Freeze When Done: Click โถ๏ธ Activate Polling before polls close. Once certified, click โธ๏ธ Deactivate Polling to freeze the site in archive mode.
-
Archive & Reset Database: Back up
/config/election-watcher/data/election_watcher.dbongateway, then click ๐๏ธ Reset Board. -
Update Election Dates / Years in Feed URLs:
- AP / NYT (
nyt_ap): Replace2026-11-03with the newYYYY-MM-DDinconfig.yaml,parsers/nyt_ap.py(get_state_feed_url&derive_nyt_race_json_url), andtemplates.py. (For 2028, addresults-president.json.) - NBC (
nbc_firecracker): Replace2026-electionswithYYYY-elections(add/president-resultsfor 2028). - CNN / NEP (
cnn_nep): Replace2026-SG.json,2026-GG.json,2026-HG.jsonwithYYYY-SG/GG/HG.json(plusYYYY-PG.jsonfor President).
- AP / NYT (
-
Refresh Open-Seat Defending Party Maps: Races with an incumbent on the ballot auto-detect flips via
incumbent: true. Only retiring/open seats useOPEN_SENATE_DEFENDING_PARTY,OPEN_GOVERNOR_DEFENDING_PARTY, andOPEN_HOUSE_DEFENDING_PARTYinnyt_ap.pyandnbc_cnn.py. -
Update Poll-Close Timer & Rebuild: Update
getPollCloseCountdownText()intemplates.py, rundocker build -t election-watcher:latest . && docker compose up -d --force-recreateongateway, and click โถ๏ธ Activate Polling!
๐ก Live Data Source Usability & Readiness Matrix
| Source | Data Usability Status | Schema / Contests Parsed | Contests Reporting Votes | Total Ballots Pulled | Last Checked |
|---|---|---|---|---|---|
| Loading source telemetry... | |||||
State Change History (The Audit Trail)
| Timestamp | Race ID | Vote Delta | Precincts Delta | Reasons / Change Events |
|---|---|---|---|---|
| No deltas recorded yet. | ||||
๐ Elections Site Roadmap & To-Do List
TODO.md. Check items off, add new tasks below, edit raw Markdown, or edit the file on disk.