Inspiration 💭

In a COVID-19 Pandemic situation dystopian whorld, many of us have turned to Discord as the catch-all virtual platform for university extracurriculars. Part of the process in clubs and organizations is the election of new officers and making group decisions. Our bot brings a fresh take on this objective to Discord users.

What it does ⚙

Traditional votes are done by plurality, where the singular option with the largest amount of votes wins, even if most voters voted for other options. Run-off VoterBot uses an iterative voting process called Instant Run-off Voting (aka Ranked Choice Voting), where the majority voters' most preferred option wins. Ballots are examined by comparing the amount of first choice votes each option gets. Options that are the favored by the least people are eliminated every round, shifting the displaced ranks to the next preferred option on each individual ballot. This means outcomes are based on collective preference, producing balanced and fair outcomes.

How we built it 🛠

Run-off VoterBot was created with Discord.Py and Python. Most of our work was done in Colaboratory.

Challenges we ran into 🟥

About a billion errors! 😅 Recursion makes debugging very important and also challenging. Much of our process was actually brainstorming on paper, deciding certain ways to tackle different aspects of the necessary programming. Communication is key!

Accomplishments that we're proud of

  • The Bot is Alive

What we learned 🧠

  • Creating a Discord bot is challenging, but rewarding.
  • There are many resources to learn from for Python programming.
  • Optimized code is much easier to expand on 😹
  • It's great to ask for help.

What's next for Run-off VoterBot 💕

We plan to refine the bot's UI for simpler in-server interactions before releasing it for public use. Whether it's the friend group's favorite ice cream flavor or your org's next event idea, Run-off VoterBot will be there for you. :)

Built With

Share this project:

Updates