Our Inspiration
Take a moment to remember the disaster of the Iowa Caucus. A poorly implemented app designed to streamline the first Democratic primary of this Presidential election cycle caused far more confusion and fuss than it was worth. The same frustration you're associating with these recent events are experienced often with elections as a whole. But what if things could be different for the U.S.? What if we could simultaneously reduce the ridiculous costs associated with running elections AND make voting far fairer and more reflective of what the people want? A ranked voting system has been associated with these desires, so our goal was to model this type of voting system. We are passionate about civil engagement, and making the political process more efficient betters society for us all.
How it works
Votential is a Java project that utilizes objects and multiple classes to organize votes for those running the election (for example, Democratic party leaders). For the purposes of this hackathon, our program simulates results from an election through the storage and manipulation of Vote objects that only let "verified" voters (those who meet voting requirements set by the government) cast their ballots. Ballot objects consists of an array of the voter's ranked order of candidates (the candidate in the 0th index is their first choice). Methods within the Vote class allow for the operations that determine the winning candidate. The winner is found via an insertion sort.
How we built it
Each of us worked on seperate parts of the project at a time in the Eclipse IDE. We tried to divide the work according to our skill levels, so the algorithm-related development was largely Edmund while the class organization was Marissa. We independently worked for much of the time, with intermittent periods of direct talking and integrating of our parts.
Challenges we ran into
Our ambition may have been a challenge in this hackathon. We are only a two person team, so producing something so complex in 24 hours is especially difficult. We wanted to incorporate core object-oriented programming concepts into our project to supplement what we have learned at school, however without a guide it was difficult to plan and execute overall. Our execution of our idea is not as good as we would like it to be. Our biggest challenge, like everyone else, was the clock.
Accomplishments that we're proud of
We are incredibly proud of ourselves for taking on this challenge. As a team of two, we had ambitious plans; even though the end product does not work 100% how we would like it to, we got far with our project-- with a little more tweaking, it would be a great example of how an electronic ranked voting system could work. We acknowledge that we took a risk by trying something that might not be as showy as a game, but we are glad we took the risk of prioritizing our concept and its impact over all.
What we learned
In researching the current voting system versus the ranked voting system, we realized how complex our elections are. We also have gained an appreciation for those who must manage and analyze key to our democratic process.
Our biggest personal takeaway is that we need to continue to work on projects and furthering our technical and creative skills. If we hope to compete again, we should work on our stamina and time management so that we can flesh out our ideas more than we have with this project. If we keep up with our practice, we can do even better next time!
What's next for Votential
The next steps to get Votential to its best version would be to create a better UI and pare down redundancies or overly-complex code. More time would allow us to make sure that the algorithm works completely correctly.
Concept-wise, Votential would ideally become a standardized system for voting that would replace our current election process.
Log in or sign up for Devpost to join the conversation.