This past weekend, I was the on-call engineer for my job. While some people “dread” the weekend where they feel like they’re locked down to their house waiting for something bad to happen, I use it as “personal reflection” time, and take advantage of the isolation to focus on something new. Coincidentally, my on-call rotation fell on Valentine’s Day; I thought to myself, why don’t I build something for an organization that I love? So I got to it; I needed to learn SQL for my job, and I haven’t built a web application from scratch.
This past weekend, I was the on-call engineer for my job. While some people "dread" the weekend where they feel like they're locked down to their house waiting for something bad to happen, I use it as "personal reflection" time, and take advantage of the isolation to focus on something new. Coincidentally, my on-call rotation fell on Valentine's Day; I thought to myself, why don't I build something for an organization that I love? So I got to it; I needed to learn SQL for my job, and I haven't built a web application from scratch.
Before I get ahead of myself and talk about what I've built, I should probably talk about a solution that Purdue University Dance Marathon has been seeking for several years:
Several weeks before PUDM's annual event, the entire organization's directors, volunteers (committee members), and participants get divided into different teams (known as color tracks). The color tracks are used to merge several committees and dancers together and improve logistics throughout the event. During the marathon, there's "Color Wars", which is an incentive-based system to keep the crowd excited. The goal at the end of the night was to be the color track that would win the most amount of "points" which was given to separate color tracks based on their energy levels and behaviors throughout the 18-hour event. During closing ceremonies, the MC would announce the color track that had "won" for the evening.
In 2014, the executive board had the idea to turn "Color Wars" into a year-long concept, and give committee members/volunteers the opportunity to earn points for their efforts. Fundamentally, this would improve engagement and volunteering throughout the organization, increasing efficiency. For example, members can earn points for reaching certain fundraising thresholds, volunteering for more events, and attending necessary meetings. These reward points can be used to purchase incentives during the marathon, and the positive numbers are calculated towards the Color Wars ranking. I collaborated with a buddy across the pond, Reece, on an iPhone app that would be used to collect these "color track points" throughout the year. However, the database backend used for this system was rushed on my end; only I could add entries to the database, and not everyone had the opportunity to collect and submit points since it was so late in the year.
I decided that I could use this three day weekend (we get President's Day off) to build an online UI to allow for our executives to enter points to committee members, but it doesn't stop there.... executives can see their entire roster along with their committees point values and encourage those with a fewer amount of points to contribute more. The system was built using PHP and MySQL from scratch. Overall, it took about 20 hours to build and in return, PUDM has a brand new web application and has received a corporate match donation of $468.75. For me being on-call stuck at home, building an application for charity while improving my SQL skills... I'd call that a win-win.