Inspiration

The recent voter dissatisfaction has inspired us to figure out a better way to vote.

What it does

This project uses simulated elections to test 5 different voting methods and gives detailed statistics on voter happiness, dissatisfaction, and turnout. This can be used to compare the voting methods, and ultimately decide which one is the best.

How we built it

This project was built entirely using Python.

Challenges we ran into

One of the biggest challenges we ran into was the UI. At first, we tried to use Tkinter in Python for UI, but unfortunately, repl.it, the website we were using to collaborate and code on, does not have great support for UI, and makes it very difficult to even see what you are creating, let alone make it look good. We tried using Visual Studio Code, but it didn't let one of us run the program, which is a major issue. Then, we tried to switch to several other coding languages in order to make the UI better. We tried unity but found it was incredibly difficult to collaborate. We tried to switch to HTML, using Brython to write Python for a website, but it was also difficult. Finally, we decided to go back to Python and simply decided to focus more on the functionality of the program rather than the UI.

Accomplishments that we're proud of

We are proud of how many voting methods we were able to successfully add and code into the project. We are also proud of making the elections very realistic, despite the fact that everything is represented by simple numbers and letters. Finally, we are especially proud of making up our own voting method, which we not only implemented into the project but also turned out to be one of the best voting methods.

What we learned

We learned that the voting system we use in the US is not good. We learned how to format our code and write comments so that it is easier for the user to understand.

What's next for Voting Methods

We hope to add more voting methods. We also hope to possibly improve the UI in the future.

Built With

Share this project:

Updates