Methodology
How GroundedVote works
If you want to trust a tool, you should be able to see inside it. Everything here โ how we build the questions, how we check them for bias, how we score the candidates, how we calculate your match โ is documented and public. No black boxes.
The Pipeline
Five stages from public record to your match score
No human editor decides what questions you see or how candidates are scored. Every stage is AI-driven, documented, and auditable.
Candidate data ingestion
Congress.gov voting records, sponsored legislation, and manually-entered position statements are collected for each candidate.
Question generation
Claude generates four neutral question variants per policy topic, constrained to behavioral language ("Would you support a policy that..."). Party names and coded language are explicitly prohibited.
Bias scoring
GPT-4 scores each variant on four dimensions: ideological loading, assumption embedding, emotional framing, and factual accuracy. Scored blind โ no model knows the other generated the variants.
Variant selection
Claude reviews bias scores and selects the lowest-scoring variant per topic. All variants, scores, and selection reasoning are archived to the public Audit Trail.
Candidate position mapping
Claude analyzes each candidate's record and assigns a 1โ5 position on every approved question. Confidence is scored honestly and shown to voters. Source type is always disclosed.
3-Pass Bias Audit
No single model decides what you read
Using one AI to both write and evaluate questions creates a self-serving loop. GroundedVote separates authorship from evaluation by using competing models with different training lineages.
Generation
Claude OpusClaude generates four variants of each question from candidate position data. The prompt enforces: no party names, no coded language (radical, extreme, socialist, MAGA), no embedded assumptions about reasonable positions. Questions must be under 40 words and directly grounded in the candidate's stated or recorded position.
Bias Scoring
GPT-4oGPT-4 scores each variant from 0โ100 on four dimensions: ideological loading (does framing favor one side?), assumption embedding (does the question imply a correct answer?), emotional amplification (does word choice provoke rather than inform?), and factual grounding (is the question accurately tied to the stated position?). GPT-4 scores all four variants blind โ it does not know Claude wrote them.
Selection
Claude SonnetA second Claude instance reviews the four scored variants. It selects the question with the lowest composite bias score, or flags the set for human review if all variants exceed the bias threshold. The selection reasoning, scores, and all variants are written to the public Audit Trail.
Public Audit Trail
Every question's full audit record โ all four variants, their bias scores, the selection reasoning, and which model made each decision โ is publicly accessible at /audit. No account required.
Candidate Positions
Where candidate scores come from
Each candidate is assigned a 1โ5 position on every quiz question (1 = strongly oppose, 5 = strongly support). The source and confidence level for every position is shown to voters on the results page.
The most reliable source. For incumbents, Congress.gov voting data is pulled for the 119th Congress. Votes on directly relevant legislation are weighted most heavily. Confidence: 0.85โ0.95.
Statements from campaign websites, press releases, debate transcripts, or news interviews where the candidate directly addressed the policy topic. Confidence: 0.70โ0.85.
Positions drawn from the candidate's official platform documents. Less precise than direct statements but stronger than inference. Confidence: 0.60โ0.75.
When direct evidence is unavailable, the candidate's party platform is used as a weak prior. The model is instructed not to stereotype โ if direct evidence contradicts party norms, the evidence wins. Confidence: 0.35โ0.50. Always displayed to voters.
Confidence score displayed. Every candidate position card on the results page shows its source type. Positions with confidence below 0.65 display a numeric confidence percentage so voters can weight uncertain data appropriately.
Match Scoring
How your percentage is calculated
Match scores use weighted cosine similarity on a 5-point agree/disagree scale, modified by the issue priorities you set during the quiz.
Scoring formula per question
similarity = 1 โ |user_answer โ candidate_answer| / 4
weight = question_weight ร importance_multiplier ร confidence
score += similarity ร weight
final_score = ฮฃ(score) / ฮฃ(weight) ร 100
0.33ร
Not a priority
Question counts at one-third weight
1.0ร
Somewhat important
Default weight (all questions start here)
2.5ร
Very important
Question counts at 2.5ร weight
A voter who marks healthcare as "Very important" and foreign policy as "Not a priority" will receive a fundamentally different match score than a voter who weights all issues equally โ even if their raw answers are identical. This is intentional: the score should reflect what you actually care about, not a flat average.
What We Don't Do
Design choices that protect neutrality
โParty labels never shown
Candidate party affiliations are stored in the database but are never displayed during the quiz or on the results page. You see names and scores only.
โNo demographic profiling
We do not collect or infer demographic information. Your answers are not used to classify you politically or target you with content.
โNo A/B testing on question framing
Every voter in a given race sees the same bias-audited question set. We do not test different framings on different users.
โNo advertiser relationships
GroundedVote is funded by individual donations and foundation grants. No candidate, party, PAC, or advertiser pays to influence what questions are shown or how candidates are scored.
โPositions are never manually overridden
Once the AI pipeline assigns a candidate's position, it can only be updated by re-running the pipeline on new source data. No human editor adjusts scores.
Known Limitations
What GroundedVote cannot guarantee
We are committed to honest limitations disclosure.
Challengers have less of a paper trail
Official records only exist for current and former members of Congress. For challengers who haven't held federal office, we work from public statements and party platforms โ and we tell you when that's happening, with a lower confidence score.
AI scoring is an estimate, not a verdict
Even with strong sources, AI-assigned positions are our best read โ not a confirmed statement from the candidate. Use it as one signal, not the whole picture. We show you the confidence level so you can judge.
We cover competitive federal races, not every race
For 2026 we track 35 Senate and House races chosen for electoral competitiveness. State legislature, judicial, and local races aren't there yet. We're working on it.
We reduce bias. We can't eliminate it.
The three-pass audit catches a lot. It doesn't catch everything. The questions are cleaner than what you'd find anywhere else โ but they're not perfect. Nothing is.
Ready to see your results?
Take the quiz
Your address. Your races. Your priorities. No party labels.
Find My Match โ