Democracy needs better surveys than SurveyMonkey
Polis uses machine learning to map opinion clusters from open-ended feedback, aiming to replace focus groups and multiple-choice polls for large-scale deliberation.

What it does Polis is an open-source platform for gathering and visualizing sentiment at scale. Participants write free-text comments, vote on others’ statements, and an ML backend maps the resulting opinion space so organizers can see where groups agree, disagree, or cluster. The main hosted instance at pol.is is free for nonprofits and government use.
The interesting bit The project treats deliberation as a dimensionality-reduction problem: instead of forcing respondents into preset buckets, it lets language emerge organically and then finds structure computationally. There’s an academic methods paper behind the approach, and the codebase includes a Clojure “math” service, Node server, and multiple React clients — not your typical CRUD app.
Key highlights
- Docker-first deployment with compose profiles for Postgres, local AWS emulators (MinIO, DynamoDB), and dev overlays
- OIDC auth with a built-in simulator for local testing (pre-baked accounts like
admin@polis.test) - Live-reload dev environment via docker-compose overlay; nREPL port into the running math process
- Makefile abstracts common operations;
make startgets a local instance running - Verified Digital Public Good, with explicit outreach channel for high-impact deployments
Caveats
- README warns that production requires additional configuration for SSL, scaling, and third-party API keys (translation, spam filtering)
- macOS users may hit a port 5000 collision with AirPlay Receiver
- Project board migration to GitHub Projects Beta is incomplete, per the README’s own admission
Verdict Worth evaluating if you’re building civic engagement tools, running participatory policy processes, or just deeply skeptical of Likert scales. Skip it if you need a lightweight drop-in widget — this is a full system with operational overhead to match.