Methodology ยท Civic AI at CivicAlign

Legislative sentiment analysis, backed by every source.

Where does a candidate actually stand? CivicAlign answers in three layers: a plain-English bill summary, a per-topic stance score from real voting records, and a "said vs. voted" comparison that surfaces inconsistency with the bill number attached.

~6,500Statements indexed
12Topic categories
7-dayInsight refresh TTL
5Evidence types tracked
A live sample

"Said vs. voted" in two real-looking examples

This is exactly how the contradiction surface looks inside a candidate modal. Each row carries the source URL of the public statement and the bill number of the recorded vote.

Topic: HealthcareInconsistent
Said"I will always protect Medicare for Iowa seniors."Press release โ†’
VotedYES on a budget cutting Medicare 5% over 10 yearsH.R. 1234

Statement made March 2024 promising Medicare protection conflicts with a March 2025 floor vote in favor of the H.R. 1234 reconciliation package, which contained Medicare reductions over the 10-year window.

Topic: Border securityConsistent
Said"I support stronger border enforcement and mandatory detention."Floor remarks โ†’
VotedYES on Secure Border Act expanding detention authorityH.R. 5678

Stated position and recorded vote align. Marked consistent and shown with the same citation chain so readers can verify.

Three layers

How CivicAlign measures legislative sentiment

  1. 01

    Index statements

    Press releases, official websites, floor remarks, and recent news coverage are pulled via structured web search. Every quote is persisted with its source URL and capture date.

  2. 02

    Score votes

    Six months of roll-call votes are grouped by topic and rolled up into a per-topic stance score: strongly for, lean for, mixed, lean against, strongly against.

  3. 03

    Match for contradictions

    Statements are matched to votes on the same topic. When the public statement and the recorded vote diverge, the contradiction surfaces with both sources attached โ€” statement URL on one side, bill number on the other.

Sentiment analysis only matters if the verdict can be checked. Every contradiction here links the statement and the vote so you can read both yourself.

CivicAlign methodology
Sources

Where the data comes from

Congress.gov

Full bill text, sponsors, recent actions, policy areas.

Used for bill-level sentiment scoring

House & Senate clerks

Official roll-call records for every recorded vote.

Used for vote-level stance scoring

FEC bulk file

Official campaign finance totals, refreshed nightly nationwide.

Used as a corroborating signal

Structured web search

Press releases, news, endorsements โ€” with source URLs.

Used for statement indexing & Said-vs-Voted

Read a real candidate's record

Open any 2026 incumbent and tap "Voting record" to see the live Said-vs-Voted analysis.

Browse 2026 candidates โ†’