A voter guide that runs on values, not labels.
Discover where you actually stand.
Ballot Compass is a civic platform we designed and built in-house. It matches voters to candidates by what they actually value — and the method works the same whether the race is for school board or the U.S. Senate.

Most voter guides ask the wrong question.
A traditional voter guide asks you to label yourself first — left, right, moderate — then hands back the candidates that label implies. It tends to confirm what you already assumed, and it only works at all if you think in those terms.
Ballot Compass asks the other way around. You react to plain statements about values and tradeoffs — no party, no jargon, nothing that signals which way an answer leans. Your positions come out of the method, not out of a box you ticked. The platform answers to the voter, not to a campaign.
“Here's what we found — not here's what to think.”
— the line Ballot Compass holds to
Questions you can't game.
The hardest part of the whole platform is the question set. Every statement is written to be politically ambiguous on purpose — you genuinely cannot reverse-engineer which answer is the “progressive” one and which is the “conservative” one. Agreeing might move you one way on the scope of government and the opposite way on the pace of change.
They are values, not policy — plain statements about tradeoffs a thoughtful person could honestly land anywhere on. Each one maps, invisibly, to an issue and an axis the voter never sees. That hidden wiring is what makes the result a discovery instead of a mirror.

One statement at a time. A five-point scale, no labels, no hint of direction — because a hint is all it takes to turn a measurement back into a guess.
Two axes, then honest math.
On the results screen, each issue gets its own compass — a two-axis map, not a single score. One axis is the scope of collective action — individual and market solutions at one end, shared and community ones at the other. The second is the pace of change — working within what exists, or building something new. Four quadrants, where genuinely unexpected combinations live.
Matching is then a distance problem. Each candidate sits at a known position; the quiz converts your answers into the same space; the platform measures how far apart you are. A flat distance would treat every issue alike, and no voter does — so you rank the issues by what matters to you, and the ranking applies exponential-decay weights, your top issue counting several times the last. A sigmoid curve turns weighted distance into a match percentage that spreads candidates apart instead of bunching everyone at the middle.
Because the questions were ambiguous, the score is not quietly measuring how partisan you are — it is measuring real proximity on the things you said mattered. The number means what it says.

The reveal. Each issue as a two-axis compass, your position plotted against the field — so a match can surprise you instead of just confirming a label.
One method, the whole ballot.
The methodology does not care whether the office is Governor or a county commission seat. Statewide and federal races get full editorial profiles, researched from the public record. Local office types — school board, sheriff, county, the legislature — get their own tailored question sets, because a school-board candidate has no business being scored on foreign policy.
What makes local coverage possible is candidate self-onboarding. There are 151 State House districts in Maine alone — no editorial team can research them all. So candidates claim their race, take the same values quiz, and fill out a structured profile; their compass position generates from their answers, an admin reviews it, and a clear “self-reported” badge keeps it honest. The platform scales down the ballot, not just across it.

Your ballot, by address. Type an address and the platform narrows to the races you can actually vote in.

Every candidate, in full. Where they stand issue by issue, the bottom line, the endorsements — and the vulnerabilities, not just the highlights.
Cheap tools for small campaigns — and a better read on the room.
v1 proved the method. v2 is about who else it can serve. The first piece is tooling for down-ballot candidates — the school-board, county, and statehouse campaigns that could never afford a pollster or a consultant. A profile, a values position, and a way to be found by the voters who actually match them, at a price a local race can carry.
The second piece is quieter, and bigger. Traditional polling is breaking — response rates have collapsed, and the handful of people who still answer a cold call are not a cross-section of anyone. A quiz is different. People want to take it; it is a little bit of a game; it hands something back. As they do, Ballot Compass captures the responses anonymized and in aggregate — no identity attached, ever — and at scale that becomes a read on what people actually believe that a poll can no longer reach.
Same method, pointed two ways: it tells a voter where they stand, and it tells everyone where the ground is moving.
A real platform under the method.
Ballot Compass is not a quiz widget. It carries voter, candidate, and editorial accounts, an election's worth of data, and a deadline — and every line of it was written by the collective.
One typed monorepo
React 19 and Vite on the front, an Express API on the back, TypeScript across both. An OpenAPI 3.1 spec generates the client, so the front end and the API physically cannot drift apart.
A relational source of truth
Postgres with a typed Drizzle schema — candidates, races, issues, per-issue scores, all properly related. The platform's data is queryable, portable, and owned.
Three roles, real security
Voter, candidate, and admin accounts on JWT httpOnly cookies, with two-factor by authenticator app or hardware passkey and a strength meter that rejects weak passwords.
Spin removed, by design
Candidates self-report; a Claude pass strips the promotional language; an admin reviews every neutralization against an audit log. Geocodio powers address-based ballot filtering, and a full admin panel runs it all.
Down East editorial, built as a system.
The look has a name we use for it internally — Down East editorial. Authoritative and warm, the way a trusted regional magazine is; it should feel like it could only have come from Maine. A topographic contour map sits quietly under everything, and Libre Baskerville headlines carry the editorial weight over a clean DM Sans body.
It is a real system, not a coat of paint. Color, type, spacing, and corner radius are all defined once as tokens, so every card, badge, and button is consistent by construction — cards round at one radius, buttons and inputs at a smaller one, badges smaller still, avatars fully round. The rules are written down, so the platform can grow without drifting.
The color system
And one color rule that is really a methodology rule: no political red or blue in the interface chrome. They appear only on candidate dots and party badges — never as the furniture — so the platform itself never reads as leaning one way.
A platform that answers to the voter.
Every choice points one way — ambiguous questions, no left/right language, candidate profiles that carry the red flags next to the endorsements, an AI pass that strips campaign spin before a word reaches anyone. It informs; it never steers.
And it is ours, end to end — the question set, the scoring math, the design, the full-stack code. A SunshineHouse platform, in-house from the first sketch to the last commit, built for citizens before anyone else.
v1 is live. v2 is close.
Ballot Compass is online now, with v2 in active development. Have a civic project that has to be trusted, fast, and genuinely on the public's side?