At John Fraser Secondary School, student elections are usually a slow tedious process that take place over lunch. Students line up in long lines, often waiting for upwards of 15 minutes to cast their votes. This process creates abysmal voter turnout rates, often below 16%.

On top of that, students often don't have a single consolidated source to view all of the candidates, and their various platforms.

To solve these issues, as well as the necessity for online student elections due to COVID-19, me and my team decided to build out a completely online solution for student elections: Fraser Votes.

Fraser Votes was built to not only be scalable, as it leverages serverless cloud functions on GCP, but also to be secure, with OpenPGP encrypted voting. Election administrators are also able to access the admin dashboard we built to view analytics, add/remove positions, edit candidates, as well as counting votes and viewing the results.

This was all built using React, Gatsby, and Firebase within the span of 6 short weeks. Running the election, we reached a peak of ~120 live users, with over 22,000 pageviews over the course of the election.

Most notably, 717 votes were cast online, compared to the paltry 271 cast in person, last year. We more than doubled voter turnout simply by taking a convoluted, inefficient process, and digitizing it.

For more on why we decided to build Fraser Votes, and the positive effects that it had, check out this article one of my team mates wrote:

Student Council Elections in the Age of COVID
Students line up to vote for their president and executives. This year, that’s illegal. Breaking down John Fraser Secondary’s first digital election.

Since the actual app is only accessible to students from John Fraser Secondary School, I've added a quick gallery of mockups.

Just want to see the code? Check out our Github organization:

Fraser Votes
Online student elections. Made for students, by students. - Fraser Votes