Civic polling, built honestly

Civic polls with methodology you can defend.

The first polling tool that labels its sample frame, flags mode effects, redacts small cells, and weights on ACS demographics — before you publish.

Start free How the math works

Email + SMS live today · phone IVR in beta · USPS mail coming H3

Who it's for

Built for the public sector and civil society.

If a journalist could ask you "how did you sample?", this is for you.

Municipalities

City and county engagement offices running resident polls on budgets, services, and planning.

Civic nonprofits

501(c)(3)s and community orgs doing constituent research that has to survive external review.

School districts

Parent, student, and staff climate surveys with weighting that reflects who actually enrolls.

Libraries & public agencies

Program evaluation and patron feedback, with methodology transparent enough to publish.

Channels

Meet residents where they already are.

Per-unit, pass-through pricing. No bundles. No surprise bills.

Email Live
Included in your plan

Fast, cheap, and high-deliverability. Best for residents who have opted in to municipal notifications.

SMS Live
Included in your plan

Higher response rates than email for short polls. Reaches residents without desktop access.

Phone IVR (EN + ES) Beta
~$0.13/min pass-through + $0.05/min markup

Bilingual interactive voice response. Twilio Voice ($0.025/min) + AWS Polly Neural TTS ($0.060/min) at cost, with a transparent Rally markup. Reaches residents who don't use email or SMS.

USPS mail Coming H3
$0.83/piece pass-through + $0.10/piece markup

First-class letter via Lob (black-and-white, single-page, domestic US). Critical for reaching households without reliable internet. Not yet live — shipping H3.

Methodology

Why a poll without these safeguards isn't trustworthy.

Most polling tools let you publish a number with no context — no sample frame, no redaction, no weighting, no trace of what you did. Rally won't let you do that. Every poll you publish includes the full recipe.

Sample-frame labels

Every poll is stamped with the frame you actually sampled from — probability, convenience, panel, voter file. On a convenience sample, an immovable banner tells readers the results cannot be generalized to the full population. You can't remove it. No one can.

lib/methodology-statement.js · routes/polls.js

k = 5 small-cell redaction

Crosstabs with fewer than 5 respondents in any cell are redacted. This protects residents from re-identification — especially in small geographies where a demographic slice can uniquely identify a person.

routes/poll-crosstab.js · routes/poll-crosstab-preview.js

Mode-effect warnings

If more than 60% of your responses arrived through one channel, the poll shows a warning; above 80%, an alert. Channel mix matters: email-only residents look different from phone-only residents, and we won't let you hide that.

lib/mode-effect.js

ACS demographic weighting

Raking/IPF weighting against American Community Survey 2018–2022 five-year defaults, with a Pew-style 5×-mean cap to keep weights from blowing up on a thin cell. We flag significant divergence between raw and weighted results so you see the correction, not hide it.

lib/weighting.js · lib/poll-analytics.js

Methodology snapshot on publish

When you publish a poll, we capture an immutable snapshot of the sample frame, target demographics, field dates, channel plan, and weighting inputs — SHA-256 hashed, stored with REVOKE UPDATE at the database level. You can verify it months later. So can anyone else.

lib/poll-methodology-archive.js · migration 029

Plain-English methodology statement

Every public poll page carries a methodology statement written in plain English: sample frame, field dates, response count, weighting, and what the number does and doesn't mean. Not buried. Not behind a PDF. On the same page as the result.

lib/methodology-statement.js

500 free responses/month for verified 501(c)(3)s.

Civic nonprofits get the extended free tier: 500 responses a month with the full methodology stack — frame labels, redaction, mode-effect warnings, weighting, methodology snapshot. We verify 501(c)(3) status via ProPublica Nonprofit Explorer.

Apply for the nonprofit tier

We review applications within 48 hours. Approved orgs keep the tier as long as they're in good standing on the ProPublica record.

Pricing

Per-unit pricing. No per-seat trap.

Starts at free with 50 responses a month. Paid plans from $9/mo (Starter, 100 responses) to $99/mo (Scale, 2,000 responses). Mail and phone are pass-through on top — you see the Lob and Twilio rate, plus a transparent Rally markup.

See all plans

What we won't do.