VoteIt is an open-source voting application. It provides hook-ins for allowing users to vote on selected elections (where an election could be pertaining to anything from a simple vote to a full-scale leadership election).

Why make this?

Voting systems are still a rarity in the open source world. There are multiple libraries that provide various voting records, but many of them are unmaintained. VoteIt is an attempt to implement the Schulze Method, a Condorcet Method, into the Go language, as well as a simple majority (initially) and apply it to different scenarios that people can vote on.

This initial version of VoteIt takes its candidates from a query on Foursquare - the top 5 results are up for election! Who will people pick?


Requires Go 1.6+ and its various dependencies.

Install dependencies with go get -u -v, and build with go build. Alternatively, run directly with go run voteit.go.

You need a Foursquare API ID & Secret for FourSquare access. Set it in the environment as FOURSQUARE_ID and FOURSQUARE_SECRET.


MIT licensed

Built With

Share this project:


posted an update

Hey everyone! I'm plenty exhausted from hackNY - unfortunately I won't be there to demo! But you can try it for yourself by doing the following:

Head to That has an instance of VoteIt running.

Then, select elections, and enter in something interesting you'd find on foursquare! I said sushi near new york, ny, but it'll take anything.

VoteIt will take the top five results and create an election out of then. If you click the UUID, you'll get to the ballot page! Leave the elections page open!

When you've gathered all your votes, simply select close election from the page and we'll show you the winners!

All the functionality is in the code - sample testcases included! Enjoy.

Log in or sign up for Devpost to join the conversation.