See what a group
really agrees on
polis-serverless is a free, open-source opinion survey tool: people share short statements and vote agree/disagree on each other's, while a live opinion map shows where the group splits into camps — and where it actually agrees. Share one link to start. No sign-ups, no website to run.
Open source (MIT) · Anonymous, no tracking · Your data is fully exportable · Clustering validated against official Polis open data
When to use it
Community decisions
Clubs, schools, neighborhoods, co-ops: "what should we focus on next year?" See the landscape of views before any vote.
Before a meeting
Surface the disagreements and the common ground in advance, so meeting time goes to what actually divides people.
Live workshops
20–50 people scan a QR code and vote; fifteen minutes later you're reading the opinion map together.
How a round works
- Prepare — pick an open question and write 8–15 "seed statements" (one idea each, something people can agree or disagree with).
- Share the link — participants vote without signing up, and can add their own statements at any time.
- Watch the map — the report updates live: similar voters cluster together, and the system surfaces each group's most distinctive statements plus the statements every group agrees on.
- Wrap up — read the map together (consensus first, then the divides), and export the full anonymized CSV if you need it.
Seed-writing tips, group sizes, facilitation flow: see the facilitator guide.
Demo: a simulated defense-budget referendum
113 fictional legislators (pseudonyms from Taiwanese wildlife and landscapes — no real names) were simulated according to Taiwan's actual party-seat structure. The map splits 62:51 along the "dialogue vs. deterrence" fault line — yet five statements about transparency, oversight, and civil resilience reach 67–83% cross-group consensus.
The conversation is open: your votes change the map in real time. Method notes in the case write-up.
Start a conversation
You can use this public demo site directly (for your own site and data, see Host your own).
Host your own (no servers, no ops)
When you want your own URL and your own data, deploy it to your own Cloudflare account. The free plan is enough for conversations with hundreds of participants, and your data stays in your account — fully downloadable at any time. Three paths:
A · Hand it to your AI assistant
Paste this to Claude Code, Cursor, or any coding assistant. You complete one browser login to Cloudflare; it does everything else.
Follow https://github.com/mashbean/polis-serverless/blob/main/AGENT.md to deploy polis-serverless to my Cloudflare account (I will complete the wrangler login step myself), then create my first conversation via the API.
B · One-click deploy
Log into Cloudflare, click the button, and it forks and deploys the code for you.
C · Six commands in a terminal
git clone https://github.com/mashbean/polis-serverless.git cd polis-serverless npm install npx wrangler login npm run check npm run deploy
FAQ
Really no server?
Really. "Serverless" means no machine you have to look after — no hosting to rent, no database to back up, nothing to reboot at 3am. The code runs on Cloudflare's cloud, works only when someone votes, and costs nothing at rest. The full technical discussion (including the alternatives we weighed) is in this document (zh).
Are participants identified?
No. No registration, no email; the browser keeps only a random code to prevent double counting, and neither the report nor the exports contain any identity. Honest caveat: this lightweight approach can't stop determined ballot-stuffing — it suits communities, classrooms, and workshops with basic trust. For adversarial public consultations, use official pol.is.
How many participants do I need?
Groups appear from 4 participants (each voting past the threshold); the map stabilizes above ~20. The system is designed for hundreds to low thousands.
How is this different from official pol.is?
Official pol.is is a mature large-scale platform that needs an engineering team to self-host. polis-serverless reimplements the same clustering method from the published literature — validated against official open datasets (group counts match; Adjusted Rand Index 0.78–0.86) — in exchange for one-click, free deployment. Not affiliated with The Computational Democracy Project.
Where does the data live? Can I take it with me?
In the deployer's own Cloudflare account, each conversation isolated. The host can download the full statement list and anonymized vote records as CSV at any time, or make the export public.