Mock · placeholder data · not real ballot information · ThinkBallot demo
Methodology

How we stay neutral

ThinkBallot never tells you how to vote. Neutrality isn't a promise we make — it's a property of how the system is built. Here's the whole pipeline, in plain terms.

The pipeline

1 · Official sources

State voter guide, Legislative Analyst's Office, county registrars. Aggregators only fill gaps.

2 · Ingestion

Parsers turn source documents into raw records. No AI involved at this step.

3 · Grounded AI pass

An AI rewrites the official text in plain language. It may only reorganize what's in the source — never add facts.

4 · Grounding check

Every generated sentence must trace to a source. If it can't, it's dropped and labeled "not available."

5 · Your ballot

What you read is a fast lookup over that checked dataset. No AI runs while you browse.

The rules

RuleWhat it means
Cite or omitNo sentence appears without a source you can click. Missing citation → the field is omitted with a visible note, never invented.
Symmetry by constructionArguments for and against come from the official ballot arguments and get equal prominence. Every candidate gets the same fields, same length budget, same tone.
The AI transforms, it never authorsThe model only rewrites official source text handed to it. It runs at build time — not while you browse (the one exception: signed-in Q&A, which must cite or refuse).
Community content is separateComments and community facts live in a visibly distinct zone, on separate infrastructure, and can never modify the official cards. Moderation is viewpoint-neutral.
Your address is never storedIt's converted to your county and districts, then discarded — even if you have an account.

What we will never do

No endorsements. No predictions. No "how you should vote." No partisan framing in our own voice. No fabricated facts. No login required to read. These aren't policies we might revisit — they're the boundary that makes everything else trustworthy.

Questions about the method? The full founding spec is public in the project repository, including the decisions and their reasons.