Mockup · not functional

The form below does not submit and the results are hardcoded sample data. Address lookup needs a server-side proxy for the Google Civic API key (a Cloudflare Pages Function at /api/lookup), which is not built.

What’s on your ballot

Enter your address to see the measures you’ll actually vote on, and where this project lands on each.

Your address is used once to look up your ballot and is never stored, logged, or sent anywhere else. How this works

Sample output
Sacramento County · Precinct 12-034

General election, November 3, 2026 · 14 statewide measures · 3 local measures

Local measures

Sacramento County & City of Sacramento
No positions on your local measures

This project scores statewide measures. Local coverage from the Civic data source is incomplete, and we don’t publish a recommendation we haven’t actually scored. Your county elections office has the official text.

Measure A · Library parcel tax Measure B · Charter amendment Measure C · Transit bond

States still to design

Reference list for whoever wires this up. Not rendered in production.

StateTriggerBehaviour
Loading Request in flight Skeleton rows, not a spinner. Ballot shape is predictable.
Address not found Civic returns no match Keep the typed address, suggest a fix, never blame the user.
Out of state Resolved outside covered states Say plainly which states are covered. 39 states is the v1 target, CA is the pilot.
Election not live Civic has no election for the address yet Fall back to the statewide list. Common far from election day.
API down Function error or quota exhausted Degrade to the full statewide list. The guide must never be a blank page.