Unofficial guide — not a ballot. Not affiliated with the LA County Registrar-Recorder/County Clerk, any candidate, campaign, or party.

How it works

← Back to LA Ballot Match

In short

You answer 28 statements about 14 issues and say how much each issue matters to you. The site looks up the contests on your ballot from your address. Ahead of time, I collected what each candidate has said and done, with links, and used an AI model called Jev to place every candidate and measure on the same 14 issues. Your browser then compares your answers to those placements with simple arithmetic and shows the closest match in each contest, or says there isn't enough information.

This is a tool for thinking through your ballot. It is not voting advice, and it can be wrong. Every match shows its reasoning and sources so you can check it.

1. The quiz

Each issue has two statements, written so that agreeing with one points the opposite way from agreeing with the other. This reduces the bias toward agreeing with whatever you read. Your answers (strongly disagree to strongly agree) average into a position from −1 to +1 on each issue. Your importance answer (0–3) sets that issue's weight. Issues you mark "doesn't matter to me" are ignored. Each statement has a "Learn more" link to a Wikipedia article for background. I chose Wikipedia for neutral, general context, not to argue for either side.

The issues and the two ends of each:

IssueOne end (−1)Other end (+1)
Taxes & government spendingRaise taxes, especially on high earners and corporations, to fund expanded public programsKeep taxes low and limit government spending and new programs
Housing growth & land usePreserve local control and neighborhood character; limit density and large new developmentsBuild much more housing: allow more density, reduce zoning limits, speed up permits
Renters & landlordsStronger renter protections: rent control, eviction limits, tenant legal aidMore flexibility for property owners: fewer rent and eviction rules
Policing & criminal justiceShift resources to prevention and alternatives; reduce incarceration and sentence lengthsExpand police staffing and enforcement; tougher penalties for crime
Homelessness responseHousing-first: provide housing and services without preconditions; avoid enforcement-led approachesEnforcement-led: clear encampments, enforce camping bans, require treatment or shelter acceptance
Climate & energyAggressive climate action: faster emissions cuts, stricter environmental rules, phase out fossil fuelsPrioritize energy affordability and reliability; fewer environmental mandates, keep oil and gas production
Workers & businessStronger worker protections: higher minimum wages, union power, mandated benefitsBusiness flexibility: fewer labor mandates and regulations, lower costs for employers
ImmigrationProtect immigrants: sanctuary policies, limit cooperation with federal immigration enforcementCooperate with federal immigration enforcement; stricter immigration policy
EducationInvest in traditional public schools; limit charter expansion; support teachers' unionsExpand school choice and charters; greater parental control over curriculum
Abortion & LGBTQ+ rightsProtect and expand abortion access and LGBTQ+ legal protectionsMore restrictions on abortion; emphasis on traditional or religious values
GunsStricter gun laws: more restrictions on purchase, carry, and types of firearmsProtect gun rights: fewer restrictions on ownership and carry
Health careGovernment-run or publicly expanded coverage (e.g. single-payer, expanded Medi-Cal)Market-based health care with private insurance and less government role
TransportationPrioritize transit, bike, and pedestrian infrastructure, even at the cost of car lanes and parkingPrioritize roads, driving, and parking; skeptical of reallocating street space
Elections & votingMake voting easier and expand participation: universal mail ballots, fewer ID requirements, public campaign financingTighten election rules: stricter voter ID and verification, fewer mail-ballot accommodations

The ends are labeled by policy, not by party. Many people mix positions across issues, and so do many candidates.

2. Finding your ballot

Your address is sent once, inside the body of a request to this site's server, which passes it to LA County's public address locator (falling back to the US Census Bureau geocoder if the county's can't find it) to get latitude and longitude. (Neither service accepts requests directly from browsers.) The server doesn't store or log the address. You confirm the matched address, and then your browser sends only the coordinates to LA County Registrar-Recorder/County Clerk's public precinct map service. That service returns your precinct and every district it belongs to: congressional, state legislative, supervisorial, city council, school and college trustee areas, water and other special districts. Those districts determine which contests you see.

Contest and candidate lists come from the California Secretary of State's certified list of candidates, the official state voter information guide, and the RR/CC's final lists of qualified candidates and measures for this election. Each contest links to its sources. Local district names were matched to county district codes partly with Jev and partly by hand. If a contest is missing or wrong for you, please tell me.

3. What candidates have said and done

For each candidate, AI research assistants (Claude, made by Anthropic) searched for the candidate's own words and actions: campaign issue pages, voting records, candidate questionnaires (CalMatters, League of Women Voters, local groups), reporting on what the candidate said, and issue-signaling endorsements. They were told to record only what the candidate said or did, not how others described them, to give each candidate in a race equal effort, and to leave a candidate blank rather than guess. Every item is a short quote or close paraphrase with a link, and you can read them all under "Why, and sources" on each contest.

These notes have not been individually checked by a person. Coverage is uneven: incumbents and well-funded campaigns leave more of a record than first-time or local candidates, and some candidates have no public positions at all. Measures are evaluated from their official title and summary.

4. Placing candidates on issues with Jev

Jev is a "System One" model from TypeSafe. It doesn't write text. It answers narrowly defined questions with probabilities. I use version jev-1.13.0. For each candidate and each issue, Jev receives the candidate's name, party, ballot designation and the collected notes, and answers two questions. Here are the exact questions for the "Housing growth & land use" issue:

Position (a score across five levels):

Based on `evidence` about `candidate` (their own statements, voting record, policy record, and endorsements), where does the candidate stand on Housing growth & land use?

0. Strongly and consistently favors: Preserve local control and neighborhood character; limit density and large new developments
1. Leans toward: Preserve local control and neighborhood character; limit density and large new developments
2. Mixed, moderate, or balanced between "Preserve local control and neighborhood character; limit density and large new developments" and "Build much more housing: allow more density, reduce zoning limits, speed up permits"
3. Leans toward: Build much more housing: allow more density, reduce zoning limits, speed up permits
4. Strongly and consistently favors: Build much more housing: allow more density, reduce zoning limits, speed up permits

Is there evidence? (a yes/no probability):

Does `evidence` contain specific information about `candidate`'s own position, votes, or record on Housing growth & land use? Party affiliation alone does not count.

Jev returns a probability for each level. The site uses the probability-weighted average as the candidate's position (−1 to +1), and the yes-probability of the second question as how much evidence there is. An issue with no evidence counts for nothing, even if a party label might suggest a position.

For measures, the questions ask which way a YES vote moves policy, and whether the measure touches the issue at all:

Based on `measure` and `evidence`, which way does a YES vote move policy on Housing growth & land use?

0. A YES vote moves policy substantially toward: Preserve local control and neighborhood character; limit density and large new developments
1. A YES vote moves policy somewhat toward: Preserve local control and neighborhood character; limit density and large new developments
2. A YES vote has no meaningful effect on this issue, or effects in both directions cancel out
3. A YES vote moves policy somewhat toward: Build much more housing: allow more density, reduce zoning limits, speed up permits
4. A YES vote moves policy substantially toward: Build much more housing: allow more density, reduce zoning limits, speed up permits

Does a YES vote on `measure` directly change policy on Housing growth & land use (Preserve local control and neighborhood character; limit density and large new developments vs. Build much more housing: allow more density, reduce zoning limits, speed up permits)?

All of this runs once, before the site is published, and the results ship with the site. No AI model runs while you use it, and your answers never reach one.

5. The match

Candidates. On each issue where a candidate has evidence, closeness is 1 − |your position − their position| ÷ 2, from 0 (opposite ends) to 1 (identical). A candidate's alignment is the average closeness, weighted by how much you care about each issue × how much evidence there is. The site only compares candidates whose evidence adds up to at least 2 (importance × evidence, about one issue you care about with solid evidence). If the top two are within 2 points, it calls it a toss-up. Within 5 points, it shows a slight lean rather than a best match.

Measures. For each issue, your position × the direction of a YES vote shows whether YES moves toward you or away, weighted by importance × relevance. If the measure barely touches the issues you care about (weight under 0.5), or the overall lean is under 5%, it doesn't pick a side. A lean under 10% is shown as a slight lean.

Known limits. Two candidates can be compared on different sets of issues. An incumbent with a long voting record may be placed on ten issues and a challenger on two. The "Why" panel shows which issues each comparison used. Jev sees each candidate's party label alongside the evidence. It can't place anyone on an issue from party alone, but on issues with thin evidence the label may still nudge the placement.

What it doesn't do. The match itself never uses party. It makes no recommendation in judicial retention elections, because judges don't campaign on policy. It doesn't weigh experience, character, competence, or anything else outside the quiz, and those may matter more to you.

Privacy

There are no accounts, cookies or ads. The site counts page visits with Vercel Web Analytics, which uses no cookies and doesn't identify you, so I can see roughly how many people use it. Your quiz answers never leave your browser. They're saved in your browser's local storage on this device, along with your confirmed address, so a refresh doesn't lose your progress. "Start over" at the top of the page erases them. Your address is sent to this site's server once, only to get coordinates, and isn't stored there. The host (Vercel) keeps standard request logs (such as IP address and the page requested), but the address travels in the request body, which isn't logged. Messages sent through the contact form are delivered by email (via Resend) and used only to reply and fix problems.

Open source

Everything behind this site is public on GitHub under the MIT license: the quiz, the matching math, the exact questions given to Jev, every evidence note with its source, and every score. If you think a candidate is placed wrong, you can see exactly why, and you don't have to take my word for how any of it works.

If you want to build something like this for another county or a future election, you're welcome to copy it. The quiz, matching and scoring pipeline carry over. The ballot lookup and contest data are specific to LA County and would need to be redone for your area. The README explains what to change. Fixes and improvements are welcome as issues or pull requests.

Problems or questions

This is a brand-new, independent project, and some things will be wrong. Please report anything that looks off, whether it's a broken address, a missing contest, or a candidate placed in the wrong spot. I'll do my best to read and respond to everything. If you're comfortable with GitHub, you can also open an issue.