Methodology · Civic AI at CivicAlign

Legislative sentiment analysis, backed by the official record.

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
Example layout

"Said vs. voted," shown as two example cards

This is the layout of the contradiction surface inside a candidate modal. In real analyses, each row carries the source URL of the public statement and the bill number of the recorded vote.

Topic: HealthcareInconsistent
SaidSample public statement on a healthcare policy position.
VotedSample roll-call vote on related legislationExample Bill A

Example layout. In real analyses, the statement links to its original source (press release, floor remarks, or recorded interview) and the vote links to its Congress.gov roll call.

Topic: Border securityConsistent
SaidSample public statement on a border security policy position.
VotedSample roll-call vote on related legislationExample Bill B

Example layout. When a stated position and a recorded vote align, the card is 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 →