About this project
About This Site
Govwatch exists because public data about Congress is scattered across dozens of government portals, PDFs, and databases that regular citizens will never have time to dig through.
Our Mission
We pull together voting records, campaign donors, floor speeches, committee work, ethics reports, and district data — all in one place, in plain English. No jargon. No paywalls. No spin.
This site is not affiliated with any political party, candidate, or government agency. We don't editorialize the data — we present it and let you draw your own conclusions. When a member receives millions from the pharmaceutical industry and votes against drug price caps, we show you both facts side by side. What you do with that information is up to you.
The goal is simple: an informed electorate makes better decisions. When voters know how their representatives actually vote, who funds their campaigns, and whether they show up to work — democracy works better.
Data Sources & Methodology
Every number on this site comes from an official government source or established academic dataset. Here's exactly where:
Bill metadata, sponsor information, committee assignments, vote data, and official summaries for all legislation in the 119th Congress.
Full text of floor speeches from the Congressional Record, committee reports, and complete bill text. This is the raw material of what happens on the House and Senate floors.
Campaign finance filings — how much each candidate raises, from whom, and how they spend it. Also independent expenditures by Super PACs and outside groups.
DW-NOMINATE ideology scores calculated from every vote cast. These scores measure where each member falls on the liberal-to-conservative spectrum based on their actual behavior, not their rhetoric.
Misconduct database documenting ethics violations, criminal investigations, and disciplinary actions. Published under CC0 (public domain) license.
District demographics from the American Community Survey — population, income, education, racial composition, and age for every congressional district.
How We Process the Data
Topic classification: Floor speeches and press releases are tagged with topics (healthcare, immigration, defense, etc.) using keyword matching across 27 policy areas. This is deterministic — no AI hallucination.
Tone detection: Statements are classified as bipartisan, partisan attack, urgent, ceremonial, or neutral based on language patterns. This helps identify who works across the aisle and who primarily attacks.
Industry classification: Campaign contributions and independent expenditures are tagged with industries (crypto, oil & gas, pharma, defense, etc.) based on PAC name matching. Bills are tagged based on title and subject keywords. This allows correlation between money received and votes cast.
Plain-English summaries: Each bill page carries a short plain-English summary alongside the official Congressional Research Service text and the bill itself. These summaries are drafted by AI assistants (Claude and Gemini) from official bill metadata — title, subjects, sponsor, status, and actions sourced from Congress.gov — and then cached and reviewed against the source. We do not generate facts. The AI rephrases what the official record already says; every page links back to the source so readers can verify. Summaries are labelled as AI-assisted where they appear.
Freshness: Data pipelines run regularly to pull the latest from each source. The footer shows when each dataset was last updated.
What We Don't Do
We don't rate members as “good” or “bad.” That's your job as a voter. We show you the facts — you decide what matters.
We don't take partisan positions. When we show industry money correlating with votes, we're not claiming corruption — we're showing a pattern that voters should be aware of.
We surface model outputs, not predictions. The Forecast page reflects DW-NOMINATE ideology scores and published academic and journalistic models — those are public-domain outputs, not our own predictions. Elections are decided by voters, not algorithms.
Accountability Score Methodology
How we compute the 0–100 composite score shown on every member profile.
The Accountability Score is a single number summarising five independently measurable aspects of a congressional member's conduct. It is not a measure of ideology — a very conservative or very liberal member can score equally high if they show up, communicate, and behave ethically.
Formula
score = weightedAverage(
attendance × 0.25, // votes cast ÷ total roll calls
independence × 0.20, // 100 − party_loyalty %
bipartisan_tone × 0.20, // % of statements tagged "bipartisan"
ethics_record × 0.20, // 100 − (unresolved misconduct × 20)
transparency × 0.15 // statement count vs chamber 90th-pct
)
All sub-scores are on a 0–100 scale. When a sub-score is null (insufficient data), it is excluded and the remaining weights are renormalised so the composite still ranges 0–100.
Component definitions
- Attendance (25%) — Percentage of roll-call votes in which the member cast any position other than “Not Voting.” Data source: Congress.gov vote records. New members with no recorded votes default to 100 until sufficient history exists.
- Independence (20%) — How often the member votes against their own party's majority position. Computed as 100 minus the party-loyalty percentage (withParty votes ÷ total partisan votes × 100). A higher score means more independent behaviour — not that the member is “better.” The chamber average for comparison is computed across all currently-serving members.
- Bipartisan Tone (20%) — Percentage of the member's floor statements and press releases (119th Congress) classified as “bipartisan” in tone. Classification is keyword-based (see How We Process the Data above). This sub-score shows as “—” when fewer than 3 statements are on record — we do not pretend a 0/0 ratio means anything.
- Ethics Record (20%) — Starts at 100. Each unresolved misconduct entry (from the GovTrack ethics database) deducts 20 points, floored at 0. Resolved entries (exonerations, completed sentences) do not deduct points.
- Transparency (15%) — The member's total statement count (119th Congress) expressed as a fraction of the chamber's 90th-percentile statement count, capped at 100. This rewards members who actively communicate with the public regardless of party or ideology.
Caveats & limitations
- New and freshman members will have limited vote and statement records early in a Congress. Scores improve in accuracy as records accumulate. A data-quality note is shown on profiles where fewer than three statements are recorded or no votes have been cast.
- Statement tone classification is keyword-based and may misclassify edge cases. We do not use AI to determine bipartisanship.
- Ethics data comes from the GovTrack misconduct database. Entries reflect publicly reported allegations and consequences — not convictions. See the GovTrack source for full context on each entry.
- This score does not reflect policy positions. A member who votes party-line on every issue can still score high if they attend every vote and communicate frequently. Conversely, a member who frequently misses votes will score low regardless of how principled their stated positions are.
- Scores are computed for the 119th Congress window only. Historical year-over-year scoring is planned for a future release.
Team & Contact
Govwatch is built and maintained by a small independent team. We are not affiliated with any political party, candidate, PAC, or government agency. Reach us at admin@govwatch.com or via the Contact page.
For press inquiries, tip-offs on misconduct we haven't surfaced, or source-data gaps — email the same address. We try to respond within 2 business days.
Funding
Where the money that runs this site comes from.
Self-funded and reader-supported. Govwatch is not a nonprofit and has not taken grant funding, venture capital, or political donations. Operating costs (servers, government API fees, data pipelines) come from the founder and reader donations.
No political money. We will not accept contributions from political parties, candidate committees, PACs, Super PACs, 501(c)(4) political groups, foreign governments, or government agencies. If a donation that looks political comes in, we refund it.
Display advertising. The site serves Google AdSense display ads. Ads are not personalized beyond Google's default contextual targeting. We do not sell any user data. Advertisers cannot influence our data presentation or editorial choices.
Support Govwatch — any amount helps keep this site independent.
Corrections & Data Quality
What happens when we get something wrong.
Every data point comes from a named, linked government or academic source (see Data Sources above). When source data is wrong, we reflect that error until the upstream source updates — but if a reader flags a material error or we catch one ourselves, we fix the display immediately and note the correction.
Data pipelines refresh on a schedule: House votes and bills every 6 hours; Senate votes every 6 hours (offset); members, FEC finances, press releases, floor speeches and presidential documents daily; committees and election results weekly; district boundaries and demographics monthly. Every data page shows a last-updated timestamp for the relevant feed.
Found an error? Email admin@govwatch.com with the URL and the specific issue. We prioritize corrections over new features. See the Contact page for what to include.
Questions? Suggestions? Found an error? Learn how Congress works or start exploring the data.