Skip to content
A web service that allows people to vote on things using a variety of voting methods.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


A web application that allows users to place votes by ranking several options. Once votes are placed, the selection algorithm is highly configurable. Written in Python 3 (using Flask and SQLAlchemy) and JavaScript (using Sortable). Authentication is done via LDAP. Can also send reminders and results via Slack messages.



  • flask
  • flask-login
  • flask-wtf
  • flask-sqlalchemy
  • sqlalchemy
  • ldap3
  • numpy
  • requests
  • Sortable
  • slackutils (optional, for notifications via Slack)


Sortable is used as a Git submodule. To initialize the submodule after cloning the Vote repository run:

git submodule init
git submodule update

You'll also need to create a file, which specifies details such as which method to use to select winning votes (instant runoff, Condorcet, etc.), how many winners to select, how to post notifications of the winners, etc. A sample configuration file can be found at

Starting the Server

Start the server with By default it will be accessible at localhost:9999. To make the server world-accessible or for other options, see -h.

If you're having trouble configuring your sever, I wrote a blog post explaining how you can get Flask, uWSGI, and Nginx working together.

Bugs and Feature Requests

Feature Requests

  • Import/export of ballots/voting preferences (CSV or whatever).
  • Ability to ignore selections from last time, this time.

Known Bugs


Special Thanks

Vote was based on the earlier Lunch Voter. The weighted_sample selection function was designed by Eric Davies. Curtis Vogt did quite a bit of work on the front end.

License Information

Written by Gem Newman. Website | GitHub | Twitter

This work is licensed under Creative Commons BY-SA 4.0.

This work makes use of Sortable by Lebedev Konstantin for ranking, licensed under the MIT License.

Fork-and-knife icon by Freepik from Flaticon, licensed under Creative Commons BY 3.0.

Remember: GitHub is not my CV.

You can’t perform that action at this time.