Constant Sum Proof of Concept

How It Works

This is a constant sum voting app. In it, users are presented with a number of choices to vote on. But rather than having just one vote (which is restricting), or doing ranked choice voting (which is hard), users get a multiple votes, which are all equally weighted. In this example, there are 5 choices, and users may distribute 20 votes between them, however they'd like.


There are some fancy features here as well:

- To avoid bias, the order of choices is randomized from run to run.

- To avoid multiple submissions, the Submit button is removed on successful entry

- A text notification refreshes every time a numeric input is altered to tell the user if they've used all of their votes


Once someone has voted, their votes are written as a small csv file to the `votes` folder of the app. The filename includes the submission time of the vote down to the millisecond, which makes this 99% (but not 100%!) collision-free. Because each csv is small, millions of votes can be recorded without burdening disk space, and they are easy to tabulate in an R script once the vote is completed.

Choices

You get 20 votes to spread across the options below: