Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

primaries

primaries is a web app for conducting primary elections. The app is free to install and use by any political party who wants to have fair primary elections.

The web app is built on the comsocwebapp python package, available here: https://github.com/ariel-research/comsocwebapp.

It currently supports a single ballot type: approval ballots (each voter can approve any number of candidates). It supports two voting rules:

  • Approval voting - The list of candidates is ordered by descending order of votes, from the candidate with the most votes to the candidate with the least votes. This is a very simple rule, but it is unfair towards minorities.
  • Phragmen's sequential rule - A rule that guarantees fair representation to both minority and majority groups, without having to define them in advance.

The admin workflow

  1. New primary elections — give it a title and a preference format (currently only approval).
  2. Add candidates one by one, or bulk-upload a CSV with the columns name,description,0.
  3. Generate invitations — personal links die once redeemed; generic links can be mailed to a list. Each email can register only once.
  4. Generate dummy users to test a rule before real people arrive; choose the distribution (uniform, normal, exponential), the bounds and a seed for reproducibility. Delete them all with one button.
  5. Set the status to open so participants can vote (closed locks it).
  6. Run a rule over real users only, dummy users only, or both. The outcome and the step-by-step log are stored in execution_logs and shown to admins and participants alike.
  7. Export anonymised preferences and execution logs as CSV.

About

A web app for conducting fair primary elections

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors