Data & methodology
Where everything comes from
Watchdog shows nothing it cannot source. This page lists each source, how it is used, and the rules that bind the product.
The rules
- No number is displayed that is not derived from data on this page.
- No bill, legislator, election, candidate, vote, news story, statistic or biography is fabricated. Missing data renders as missing.
- Every bill status is derived from the full Congress.gov action history by one shared code path (
lib/bills/lifecycle.mjs); dead bills are labeled dead and never get a progress bar. - No generative model writes, summarizes, ranks or tags anything. Tags are rule tables you can read in the repository.
- Nonpartisan: issue connections describe intersections, never positions; study records present the strongest case on each side.
Legislation
Taught corpus — 27 bills ingested from the Congress.gov API (statuses as of October 8, 2026), each with a human-verified study record, an editorial lineage where one exists, and the CRS summary as published. Tracked mirror — any bill since the 93rd Congress, fetched at request time, cached, never analyzed. Live “just updated” lists come from Congress.gov sorted by update date. State legislation requires an Open States key and is otherwise shown as unavailable.
Representatives
539 current members (439 House, 100 Senate), roster dated 2026-10-08. Sources: Congress.gov API — current members; unitedstates/congress-legislators. Portraits are the official Congress.gov images with their attribution strings. Biographies are assembled from structured fields (office, dates, committees, leadership, next election) by a visible template — nothing is inferred. “Who represents me?” sends the address to the U.S. Census Bureau geocoder (ACS 2024 vintage, 119th-Congress district lines) and does not store it.
Elections
Federal races are derived from term end dates: every House seat, every Senate seat whose term ends, and specials. Election day follows 2 U.S.C. §7. Governors’ races use a seeded calendar (National Governors Association — 2026 gubernatorial election cycle, seeded 2026-10-08). Current governors come from Wikidata (retrieved 2026-10-08) and are kept only when the person’s own term record is still open; states that fail that check are shown without a name. Candidates are not listed until an official filing source is connected.
News
Stories come from named outlets’ own RSS feeds (NPR, PBS NewsHour, Politico, The Hill, CBS, ABC, NBC, CNN, Fox News, Axios) and, for state-level queries, from the GDELT open index of news URLs. Watchdog adds deterministic tags only: states named in the text (a gazetteer of names and major cities), issues (keyword lists per issue), bill numbers, and members of Congress named with a title. Summaries are the outlet’s own; GDELT items carry headline only. Google News feeds are not used because their terms restrict them to personal use.
Issues
23 issues and 69 edges, written editorially. Bills reach issues through Congress.gov policy areas and CRS subject terms; stories through keyword lists. Both tables live in lib/issues/taxonomy.ts.
World globe
Country shapes from Natural Earth; indicators from the World Bank API; country news from each country’s outlets’ RSS feeds. The United States has its own map because the product’s depth is domestic.
Personalization
Your state, district and issues are stored in your browser only. There are no accounts, feeds, followers or friends. Clear everything at any time.