{"path":"research/polis-deep-dive.md","content":"# Polis Deep Dive: Opinion Clustering for Large-Scale Deliberation\n\n*Research compiled March 27, 2026 for the Deliberus project.*\n\n## 1. The Algorithm: How Polis Works Technically\n\n### 1.1 The Opinion Matrix\n\nAt the heart of Polis is the **opinion matrix** -- a sparse participants-by-comments matrix where each cell contains one of three values: agree (+1), disagree (-1), or pass/unseen (null/0). Comments are columns (each representing a statement submitted by a participant), participants are rows (each representing a voting record). As participants vote and submit new statements, this matrix grows in both dimensions.\n\nThe matrix is inherently sparse -- most participants only vote on a subset of comments, since statements are presented semi-randomly rather than as a complete survey. This sparsity is a feature, not a bug: participants contribute meaningful signal without needing to evaluate every statement.\n\n### 1.2 Dimensionality Reduction: PCA and UMAP\n\nPolis reduces the high-dimensional opinion matrix into a 2D visualization using **Principal Component Analysis (PCA)** as its primary method, with **UMAP** (Uniform Manifold Approximation and Projection) as a more recent addition.\n\n**PCA** finds the orthogonal axes of maximum variance in the vote data. The first principal component captures the axis along which participants disagree most; the second captures the next most informative axis orthogonal to the first. Participants are then projected onto these two axes, producing a 2D scatter plot where proximity indicates voting similarity.\n\nMathematically: given the opinion matrix **V** (n participants x m comments), PCA computes the eigenvectors of the covariance matrix **V^T V**. The top-2 eigenvectors become the projection axes. Missing votes are handled through imputation (typically mean imputation or iterative methods).\n\n**UMAP** is a nonlinear dimensionality reduction technique that preserves local neighborhood structure better than PCA. It constructs a high-dimensional graph of nearest neighbors and then optimizes a low-dimensional embedding that preserves that graph structure. Polis uses the [lmcinnes/umap](https://github.com/lmcinnes/umap) implementation.\n\n**Key insight**: Polis does NOT use natural language processing. The machine learning algorithms operate solely on the numeric vote matrix. This makes the system language-agnostic -- it works identically regardless of what language the statements are written in.\n\n### 1.3 Clustering: K-Means and Beyond\n\nPolis identifies opinion groups using **K-Means clustering** on the reduced-dimensionality opinion space. The process:\n\n1. **Base clustering**: 100 base clusters are computed from the opinion matrix\n2. **Group clustering**: These base clusters are aggregated into k final groups (typically k=2 to 5)\n3. **K selection**: Multiple values of k are evaluated; the system selects the k that best captures meaningful structure\n\nThe clustering pipeline runs in a **Clojure math worker** that operates asynchronously:\n- Uses \"warm-start\" initialization from previous computations for efficiency\n- Results are persisted to a `math_main` PostgreSQL table\n- Base clusters and the selected group clustering are stored; intermediate k-value results are ephemeral (in-memory only)\n\n**Known issue** (as of Jan 2026, [GitHub #2358](https://github.com/compdemocracy/polis/issues/2358)): The warm-start state is only partially persisted, meaning worker restarts produce different clustering results for the same conversation. This creates non-deterministic behavior.\n\nPolis also supports:\n- **Leiden graph-based community detection** ([leidenalg](https://github.com/vtraag/leidenalg)) -- finds community structures within opinion networks\n- **Hierarchical clustering** via scipy's linkage functions\n\n### 1.4 Real-Time Processing Pipeline\n\nThe computational pipeline runs continuously:\n1. New votes arrive and update the opinion matrix\n2. The Clojure math worker periodically recomputes PCA projections and clustering\n3. Updated visualizations are pushed to the web client in real-time\n4. The report view shows evolving group structures and consensus statements\n\nResults are stored as JSON blobs in the `math_main` table, keyed by environment (dev/prod/preprod), allowing multiple environments to share the same vote database.\n\n## 2. Bridging Statements: The Key Innovation\n\n### 2.1 What Are Bridging Statements?\n\nBridging statements are comments that receive high agreement from participants who otherwise hold opposing views. They represent points of consensus that cut across opinion group boundaries. This is Polis's most distinctive and practically important feature.\n\n### 2.2 How Bridging Is Computed\n\nIn Polis's standard implementation, a bridging statement is one with **high agreement across all identified clusters**. The algorithm:\n\n1. After clustering participants into k groups, compute per-group agreement rates for each statement\n2. A statement \"bridges\" if it has high agreement in groups that otherwise disagree on most things\n3. The system identifies these by looking for statements where the minimum per-group agreement rate is high (i.e., no group strongly disagrees)\n\nThis is sometimes called **\"group-aware consensus\"** -- agreement that accounts for the group structure rather than just raw popularity.\n\n### 2.3 Academic Critique: \"The Structure of Bridging\" (2025)\n\nA rigorous academic analysis by Blair et al. ([University of Toronto / Harvard](https://www.cs.toronto.edu/~nisarg/papers/bridging.pdf)) identifies shortcomings in Polis's standard bridging metric:\n\n**Problem**: Current metrics only account for inter-group connections within a *fixed partition* of participants. If the clustering yields groups A and B, bridging is measured relative to that specific split. But a richer set of possible partitions might reveal different bridging dynamics.\n\n**Proposed improvements**:\n- **Pairwise disagreement**: Measures bridging across all possible pairwise comparisons, not just the computed clusters\n- **p-mean bridging**: A family of metrics parameterized by p, with axiomatic characterizations supporting both \"connectivity\" and \"proportionality\" perspectives on bridging\n- Both metrics are shown to be stable, interpretable, and practical even with sparse vote data typical of Polis conversations\n\n### 2.4 Bridging Systems Framework (Ovadya & Thorburn, 2023)\n\nAviv Ovadya and Luke Thorburn ([Knight First Amendment Institute](https://knightcolumbia.org/content/bridging-systems)) frame Polis within a broader \"bridging systems\" framework. They define bridging as: *\"increase in mutual understanding and trust across divides, creating space for productive conflict, deliberation, or cooperation.\"*\n\nThree signal types operationalize bridging:\n1. **Motifs** (interaction patterns): Diverse approval across ideological divides, non-polarized rating distributions\n2. **Surveys**: Measuring affective polarization reduction\n3. **Content analysis**: Automated classifiers detecting dehumanizing or polarizing language\n\nThey position Polis as a space-based relation model that \"compresses high-dimensional representation into a two-dimensional space, positioning people closer together if their votes are more similar.\"\n\n## 3. vTaiwan: Real-World Legislative Impact\n\n### 3.1 Origin Story\n\nIn 2014, Taiwan's Sunflower Movement saw students occupy parliament for three weeks, protesting a trade agreement with China negotiated behind closed doors. In the aftermath, government minister Jaclyn Tsai attended a g0v (gov-zero) civic tech hackathon and invited the community to design a neutral platform for large-scale public deliberation. The result was **vTaiwan**, launched in 2015, with Audrey Tang (later Digital Minister) as a key figure.\n\n### 3.2 The Four-Stage Process\n\n1. **Proposal Stage**: Issues are proposed at weekly Wednesday hackathons. A government agency must agree to steward the issue. Uses Discourse for discussion, sli.do for document sharing, Typeform for questionnaires.\n\n2. **Opinion Stage**: Polis gathers and visualizes public opinion. Participants submit statements and vote agree/disagree/pass. The algorithm clusters participants and reveals consensus areas and points of division through real-time \"opinion landscape\" reports.\n\n3. **Reflection Stage**: Two in-person stakeholder meetings examine Polis findings. These are livestreamed with online chatrooms for broader participation. The facilitator decides whether to proceed or conduct additional opinion rounds.\n\n4. **Ratification Stage**: Based on compiled reports and meeting transcripts, the government either enacts guidelines/policies or drafts legislation for parliament (the Yuan).\n\n### 3.3 Outcomes and Success Stories\n\n- **26 pieces of legislation** crafted through vTaiwan processes\n- **80%+ of processes** result in decisive government action\n- **200,000+ participants** total across all vTaiwan deliberations\n- Since 2017, each ministry must appoint a **Participation Officer** for engagement\n\n**Uber/Ride-Sharing Regulation** (the landmark case):\n- 925 participants in the opinion-gathering phase\n- 31,115 votes cast (highest participation in a single vTaiwan topic)\n- 4,000+ people crowdsourced the consultation meeting agenda\n- Initially fierce conflict between taxi drivers (losing ~30% income) and ride-hailing advocates\n- Polis revealed a **bridging consensus**: 95% of ALL participants agreed on \"passenger safety\" as a shared concern\n- Resulted in: eliminating mandatory yellow paint for taxis, allowing high-end app-based taxis without fare undercutting, requiring driver ID/fare/rating displays, implementing per-ride taxation\n- Government incorporated suggestions into a draft bill sent to parliament\n\n**Other legislation topics**: Online alcohol sales, telemedicine, nonconsensual pornography (\"revenge porn\"), fintech regulations, electric scooter usage, autonomous vehicles, 5G spectrum allocation.\n\n### 3.4 Challenges\n\n- Consensus-building may conflict with urgent policy needs\n- Attracts participants primarily interested in technology/economics/data topics (demographic bias)\n- Not all government officials embrace collaborative models\n- Attempted legislation to institutionalize vTaiwan (Digital Communications Acts clause) failed parliamentary passage in 2019\n- The process requires a government agency to voluntarily steward each issue -- there is no mandatory participation mechanism\n\n### 3.5 Beyond vTaiwan: Taiwan's Broader Digital Democracy\n\n- **Join** platform: Government-maintained, 10+ million visitors\n- **Talk to Taiwan**: Broadcast format with ministerial responses to citizen concerns via Polis\n- Fact-checking crowdsourcing for elections\n\n## 4. Scale\n\n### 4.1 Aggregate Numbers\n\n- **10 million+ total participants** across all deployments worldwide (as stated on pol.is homepage, Feb 2026)\n- **Tens of thousands of conversations** conducted since 2012\n- System designed to handle \"currently up to hundreds of thousands or (conceivably) millions of participants\" per conversation\n\n### 4.2 Largest Known Single Deliberations\n\n- **UNDP deployment**: \"The largest online deliberative exercises in history\" -- 30,000 youth across Bhutan, East Timor, and Pakistan\n- **vTaiwan Uber case**: 925 participants, 31,115 votes in a single conversation\n- **Taiwan Join platform**: 10+ million visitors (though Join is a separate platform that sometimes incorporates Polis)\n\n### 4.3 Polis 2.0 and Scaling Architecture\n\nPolis 2.0 claims support for \"millions of concurrent users through distributed cloud infrastructure.\" The scaling approach:\n- Asynchronous math worker processing (Clojure)\n- PostgreSQL for persistent storage\n- Docker-based deployment\n- The vote collection is inherently scalable (simple writes); the bottleneck is the math worker's recomputation cycle\n\n## 5. Open Source Architecture and Tech Stack\n\n### 5.1 Repository\n\n[github.com/compdemocracy/polis](https://github.com/compdemocracy/polis) -- AGPL-3.0 license, 1,100+ stars, 247 forks, 70 contributors, active development (last push March 2026).\n\n### 5.2 Language Breakdown\n\n| Language | Share |\n|----------|-------|\n| JavaScript | 26.4% |\n| Python | 22.7% |\n| TypeScript | 22.5% |\n| Jupyter Notebook | 19.0% |\n| Clojure | 4.3% |\n| SCSS | 1.5% |\n| Other (Shell, PLpgSQL, Dockerfile, CSS, EJS, HTML, Makefile, Astro, R) | 3.6% |\n\n### 5.3 Architecture Components\n\n- **Client/Frontend**: JavaScript/TypeScript web application\n- **Server**: Node.js API server\n- **Math Worker**: Clojure application (the core algorithmic engine) -- PCA, K-means, bridging computations. Uses Leiningen build tool. Originally a separate repo ([pol-is/polisMath](https://github.com/pol-is/polisMath))\n- **Database**: PostgreSQL (stores votes, conversations, math results in `math_main` table)\n- **Analysis**: Python Jupyter notebooks for manual/offline analysis\n- **Deployment**: Docker containers, SSL/OIDC/JWT authentication\n- **Report generation**: Automated real-time web reports + manual Python analysis\n\n### 5.4 Key Configuration\n\nThe math worker is configured via environment variables:\n- `MATH_ENV`: Deployment environment key (dev/prod/preprod)\n- Math results are keyed by environment, allowing multiple math workers on the same database\n- Requires PostgreSQL client libraries\n\n### 5.5 Related Repositories\n\n- `compdemocracy/polis` -- Main platform\n- `compdemocracy/scripts` -- Operational scripts\n- `compdemocracy/polis-embed-examples` -- Embedding examples\n\n## 6. Limitations and Criticism\n\n### 6.1 No Argument Structure\n\n**This is the most fundamental limitation for Deliberus.** Polis clusters *opinions* but does not map *logical relationships* between them. It can tell you that Group A and Group B disagree, and that statement X bridges them, but it cannot tell you:\n\n- WHY people hold their positions\n- What EVIDENCE supports or undermines a claim\n- How claims logically RELATE to each other (support, attack, undermine)\n- Whether a position is CONSISTENT with other positions the same person holds\n- What ASSUMPTIONS underlie a given view\n\nPolis treats every statement as an atomic unit. There is no concept of premises, conclusions, rebuttals, or logical dependencies. A statement like \"We should regulate Uber\" and a statement like \"Passenger safety is important\" exist in the same flat space -- their logical connection (one might be a reason for the other) is invisible to the system.\n\n### 6.2 UX and Visualization Challenges\n\nFrom the Particiapp project ([partici.app](https://partici.app/blog/2024/07/21/issues-extending-polis-and-adjusting-our-goals)):\n- Users \"were rarely able to interpret the [PCA] visualization and often intuitively made incorrect assumptions\"\n- Users incorrectly associated the filled area of a group with its significance or size\n- The comment routing algorithm (pseudo-random statement ordering) proved \"difficult to explain to users\"\n- They replaced Polis's spatial visualization with simple bar charts as a temporary measure\n\n### 6.3 Representation Bias\n\nFrom GitHub Issue [#883](https://github.com/compdemocracy/polis/issues/883):\n- Under-resourced minorities have limited time to participate, leading to under-representation\n- K-means clustering can produce outcomes unfavorable to demographic subgroups\n- \"Fair clustering\" approaches (Ghadiri et al. 2020) have been proposed but not yet implemented\n\n### 6.4 Statement Quality\n\n- 140-character limit constrains nuance\n- No mechanism to distinguish between factual claims and value judgments\n- No verification or evidence-linking for statements\n- Duplicate or near-duplicate statements fragment votes\n- Moderation is required to filter spam and off-topic submissions\n\n### 6.5 Deliberation Depth\n\n- Agree/disagree/pass is an extremely low-bandwidth signal per interaction\n- No ability to explain WHY you agree or disagree\n- No threading, replies, or conversational depth\n- The process assumes positions are relatively fixed -- there is limited support for tracking opinion EVOLUTION through reasoning\n\n### 6.6 The \"Two-Axis\" Problem\n\nPCA projects onto the two axes of maximum variance, but many policy debates have more than two meaningful dimensions of disagreement. Important minority perspectives that don't align with the primary axes of disagreement can become invisible in the 2D projection.\n\n## 7. Bridging + Argumentation: The Unexplored Frontier\n\n### 7.1 Has Anyone Combined Them?\n\nNo production system combines Polis-style opinion clustering with structured argumentation mapping. This is a genuine gap in the field.\n\nThe closest approaches:\n\n- **AM4DSP** (EMNLP 2025, [Elguendouze et al.](https://aclanthology.org/2025.emnlp-demos.61/)): An argumentation-mining-boosted version of **BCause**, a large-scale deliberation platform. Uses NLP to automatically extract and analyze argumentative structures from online discussions. Combines argument mining with deliberative democracy, but does not include opinion clustering.\n\n- **ReadTheRoom** (Yang & Bachmann, 2025, [arXiv:2502.05017](https://arxiv.org/html/2502.05017v1)): Bridges online Polis-style voting with face-to-face structured deliberation. Uses PCA to create \"pizza slice\" radial clusters for balanced group composition. Tracks opinion shifts during deliberation. But the deliberation structure is facilitated, not argument-mapped.\n\n- **Stanford Online Deliberation Platform**: Video-based small group discussions with automated moderation. Structured and equitable but not argument-mapped.\n\n- **APOPSIS** (FORTH, Greece): A web platform for structured dialogues with automated opinion analysis. Closer to argument mapping but without Polis-scale clustering.\n\n### 7.2 What Would the Combination Look Like?\n\nA system combining Polis-style clustering WITH structured argumentation could:\n\n1. **Use clustering to identify opinion groups** (where people stand)\n2. **Use argumentation to map WHY they stand there** (the reasoning behind positions)\n3. **Find bridging ARGUMENTS, not just bridging statements** -- arguments that are compelling to people on multiple sides\n4. **Track logical consistency** -- does a person's support for statement A logically conflict with their support for statement B?\n5. **Enable deeper deliberation** -- instead of just voting agree/disagree, participants can engage with the logical structure underlying positions\n\n### 7.3 Challenges of Combining\n\n- **Complexity vs. adoption**: Polis succeeds partly because it is extremely simple (agree/disagree/pass). Adding argument structure increases cognitive load.\n- **Scale vs. depth**: Polis works at 10,000+ participants because each interaction is trivially simple. Argument mapping is inherently more demanding per interaction.\n- **Automation**: Argument structure is much harder to extract automatically than vote patterns. LLM-based argument mining (e.g., Claimify) may bridge this gap.\n\n## 8. Recent Developments (2024-2026)\n\n### 8.1 LLM Integration\n\n**\"Opportunities and Risks of LLMs for Scalable Deliberation with Polis\"** (Small et al., 2023, Anthropic collaboration):\n- Pilot experiments using Claude for facilitating, moderating, and summarizing Polis conversations\n- LLM summarization enables \"categorically new methods with immense promise to empower the public in collective meaning-making exercises\"\n- Context window limitations significantly impact quality of LLM-generated summaries\n- Risks discussed: manipulation potential, hallucination in summaries, loss of participant agency\n\n**Active GitHub development** (as of Jan 2025):\n- Issue [#1878](https://github.com/compdemocracy/polis/issues/1878): \"[LLM] Basic evaluations of LLM outputs\" -- establishing evaluation frameworks for LLM-generated content in Polis\n- Real-time summarization and automatic translation using LLMs in Polis 2.0\n- **EVoC library** (Extraction of Voiced Opinions through Clustering): Advanced topic analysis\n\n### 8.2 \"The Empty Chair\" (MIT, 2025)\n\nSuyash Fulay and Deb Roy at MIT developed a tool that uses LLM personas to introduce missing perspectives in deliberation. Deployed in a 19-person student citizens' assembly:\n- Real-time transcription + simulation of absent stakeholders\n- Participants found it sparked new discussions and surfaced valuable perspectives\n- Concerns about overly general AI responses and overreliance on AI for perspective-taking\n\n### 8.3 National Infrastructure Status (2026)\n\nAs of February 2026, Polis has achieved **national democratic infrastructure status** in:\n- **Taiwan**: Legislative development (12+ bills)\n- **United Kingdom**: National security consultations, local governance\n- **Finland**: Wellbeing services counties use Polis for program design (elderly safety, children's mental health), introduced by Sitra (Finnish Innovation Fund) in cooperation with DigiFinland\n\nAdditional government adoptions:\n- **Singapore**, **Philippines**: Government-level deployment\n- **Austria**: Klimarat (National Citizens' Assembly on Climate) -- thousands of citizens + experts developing climate proposals\n- **Amsterdam**, **Bowling Green (Kentucky)**, multiple UK cities for local governance\n\n### 8.4 PoliCon Benchmark (2025)\n\nZhaowei Zhang et al. introduced **PoliCon**, a benchmark for evaluating LLMs on achieving political consensus objectives, constructed from 2,225 items. Tests whether LLMs can replicate or improve upon Polis-style consensus-finding.\n\n### 8.5 LitePolis\n\nA Python package ([litepolis-math](https://pypi.org/project/litepolis-math/)) providing clean PCA and K-means implementations specifically for Polis-style user vote data analysis. Supports StarRocks and PostgreSQL backends.\n\n## 9. What Deliberus Can Learn\n\n### 9.1 Adoption and UX Lessons\n\n**Simplicity is Polis's superpower -- and its constraint.** The agree/disagree/pass interface is so low-friction that millions of people have used it. Any Deliberus design that requires more cognitive effort per interaction must justify that cost with proportionally greater insight.\n\n**Design principle: Progressive depth.** Start with Polis-level simplicity for initial opinion gathering, then offer optional deeper engagement for those willing to invest more effort. Not everyone needs to map arguments -- but those who do should be able to, and their work should enrich the experience for everyone.\n\n**No reply button is intentional.** Polis deliberately eliminates threading and replies to prevent the flame wars and pile-on dynamics that plague forums. Deliberus should consider how to enable structured disagreement without enabling destructive conflict. Argument mapping may be the answer -- it structures disagreement around logic rather than emotion.\n\n**Real-time feedback drives engagement.** Seeing yourself placed on the opinion map, watching groups form, and discovering bridging statements creates a compelling feedback loop. Deliberus should provide equivalent real-time insight as argumentation structures develop.\n\n### 9.2 Technical Lessons\n\n**The opinion matrix pattern is powerful and reusable.** Even if Deliberus adds argumentation structure, maintaining a vote matrix and running PCA/clustering on it provides a valuable \"where does the community stand?\" overview. This could sit alongside the argument graph.\n\n**Bridging is the killer feature.** Finding points of unexpected agreement is what makes Polis transformative for governance. Deliberus should pursue **bridging arguments** -- not just bridging opinions, but arguments that resonate across opinion groups. \"I disagree with your conclusion, but I find your reasoning compelling\" is a richer bridge than \"we both agree with this statement.\"\n\n**Language-agnostic processing is elegant but limiting.** By working only on vote patterns, Polis avoids NLP complexity. But it also throws away the semantic content of statements. Deliberus, with its argument-mapping focus, should embrace NLP (and LLMs) to understand the actual content and logical structure of contributions.\n\n**Sparsity handling matters.** In any large-scale deliberation, most participants will not engage with most content. Deliberus needs robust handling of incomplete data -- whether that means smart imputation, Bayesian approaches, or designing interactions that naturally produce dense signal.\n\n### 9.3 Scale Lessons\n\n**Polis proves that tens of thousands can meaningfully participate in deliberation.** The key enablers:\n- Each participant interaction is tiny (a single vote)\n- No participant needs to see everything\n- The algorithm synthesizes the full picture from partial contributions\n- Results are continuously updated, creating a living document\n\n**For Deliberus**: Structured argumentation is inherently more cognitively demanding than voting. To achieve scale, Deliberus may need:\n- AI-assisted argument construction (participants provide natural language, system extracts argument structure)\n- Asymmetric participation (some users map detailed arguments, most users evaluate/vote on existing arguments)\n- Modular views (high-level opinion map for casual engagement, detailed argument graph for deep engagement)\n\n### 9.4 Governance and Process Lessons\n\n**vTaiwan's four-stage process is a model for structured policy deliberation.** The combination of online opinion gathering (Polis), offline stakeholder meetings, and government commitment to act on results creates a complete pipeline. Deliberus should consider similar staged processes rather than being a standalone tool.\n\n**Government commitment is the binding constraint.** vTaiwan works because the government agreed in advance to consider results. Without this commitment, even the best deliberation platform produces reports that gather dust.\n\n**The \"80% decisive action\" rate** is remarkable and sets a benchmark. It suggests that the structured process itself -- not just the technology -- drives outcomes.\n\n### 9.5 The Deliberus Opportunity\n\nThe gap Polis leaves is exactly the gap Deliberus aims to fill: **the logical structure beneath opinions.** Polis can tell you THAT 95% agree on passenger safety. Deliberus could tell you WHY they agree, what evidence supports it, what alternative framings exist, and how that agreement connects logically to specific policy proposals.\n\nThe most promising architecture would be **layered**:\n- **Layer 1 (Polis-like)**: Low-friction opinion gathering, clustering, bridging identification\n- **Layer 2 (Argument mapping)**: Structured logical analysis of key claims and their relationships\n- **Layer 3 (Synthesis)**: AI-assisted integration of opinion data with argument structure to identify which arguments are most compelling to which groups, and which logical pathways lead to broader consensus\n\nThis layered approach preserves Polis's proven ability to engage people at scale while adding the epistemic depth that Deliberus envisions.\n\n---\n\n## References and Sources\n\n### Primary Sources\n- Small, C.T., Bjorkegren, M., Erkkilä, T., Shaw, L., & Megill, C. (2021). [Polis: Scaling Deliberation by Mapping High Dimensional Opinion Spaces](https://www.e-revistes.uji.es/index.php/recerca/article/view/5516/6558). *Recerca*, 26(2), 1-26.\n- Small, C.T., Vendrov, I., Durmus, E., et al. (2023). [Opportunities and Risks of LLMs for Scalable Deliberation with Polis](https://arxiv.org/pdf/2306.11932). arXiv:2306.11932.\n- Blair, C., de Raaij, J., Procaccia, A.D., et al. (2025). [The Structure of Bridging](https://www.cs.toronto.edu/~nisarg/papers/bridging.pdf). Harvard/University of Toronto.\n- Yang, J.C. & Bachmann, F. (2025). [Bridging Voting and Deliberation with Algorithms](https://arxiv.org/html/2502.05017v1). arXiv:2502.05017.\n- Ovadya, A. & Thorburn, L. (2023). [Bridging Systems: Open Problems for Countering Destructive Divisiveness](https://knightcolumbia.org/content/bridging-systems). Knight First Amendment Institute.\n\n### Platform and Organizational\n- [Polis Homepage](https://pol.is/home2)\n- [The Computational Democracy Project](https://compdemocracy.org/)\n- [Polis GitHub Repository](https://github.com/compdemocracy/polis)\n- [Polis Knowledge Base: Algorithms](https://compdemocracy.org/algorithms/)\n- [Polis Opinion Matrix](https://compdemocracy.org/polis-opinion-matrix/)\n\n### vTaiwan\n- [vTaiwan - Crowdlaw for Congress](https://congress.crowd.law/case-vtaiwan.html)\n- [vTaiwan - Participedia](https://participedia.net/method/vtaiwan)\n- [Taiwan Consensus Building - Democracy Technologies](https://democracy-technologies.org/participation/consensus-building-in-taiwan/)\n- [MIT Technology Review: Taiwan's System for Crowdsourcing Laws](https://www.technologyreview.com/2018/08/21/240284/the-simple-but-ingenious-system-taiwan-uses-to-crowdsource-its-laws/)\n- [WIRED: Taiwan Making Democracy Work Again](https://www.wired.com/story/taiwan-democracy-social-media/)\n\n### Recent Developments\n- [Gigazine: Polis as National Democratic Infrastructure (Feb 2026)](https://gigazine.net/gsc_news/en/20260216-polis/)\n- [Sitra: Polis Platform Experiments in Finland](https://www.sitra.fi/en/projects/polis-platform-experiments/)\n- [Particiapp: Issues Extending Polis](https://partici.app/blog/2024/07/21/issues-extending-polis-and-adjusting-our-goals)\n- [Polis GitHub Issue #2358: Non-Deterministic K-Means](https://github.com/compdemocracy/polis/issues/2358)\n- [Polis GitHub Issue #1878: LLM Evaluation](https://github.com/compdemocracy/polis/issues/1878)\n- [Polis GitHub Issue #883: Fair Clustering](https://github.com/compdemocracy/polis/issues/883)\n\n### Argumentation Mining\n- Elguendouze, S. et al. (2025). [AM4DSP: Argumentation Mining in Structured Decentralized Discussion Platforms](https://aclanthology.org/2025.emnlp-demos.61/). EMNLP 2025.\n- Fulay, S. & Roy, D. (2025). [The Empty Chair: Using LLMs to Raise Missing Perspectives](https://arxiv.org/html/2503.13812v1). MIT.\n- Revel, M. & Penigaud, T. (2025). [AI-Enhanced Deliberative Democracy and the Future of Collective Will](https://arxiv.org/pdf/2503.05830). Meta FAIR / Yale.\n\n### Related\n- Tom Atlee (2022). [Polis: A Breakthrough Tool for Broader, Deeper Consensus](https://www.tomatleeblog.com/archives/175328624).\n- Klein, M. & Majdoubi, N. (2024). [The Medium is the Message: Toxicity Declines in Structured vs Unstructured Online Deliberations](https://dspace.mit.edu/bitstream/handle/1721.1/154928/11280_2024_Article_1269.pdf). MIT.\n"}