This past weekend, from Friday 2/17 to Sunday 2/19 I spent the weekend in my almost hometown of Youngstown at HackYSU. It was a great weekend of hacking, seeing my family, and spending time with friends while enjoying an always great MLH hackathon. I worked in a team of three, with Zach and Zak, on a project we called tIQit.
"tIQit" is a play on the word "ticket," bringing "IQ" into the equation because we like coming up with obnoxious names for our projects. The problem we aimed to solve was much less obnoxious.
As an organizer of RevolutionUC and a regular participant in hackathons, a problem I see repeated at both our own events and some others is a difficulty in connecting mentors with student hackers. At many hackathons there are mentors, who may be industry professionals volunteering their time or upperclassman students offering their expertise to other students. These mentors come to hackathons with the explicit purpose of helping students who get stuck overcome their issues and continue on. Because the projects participants work on at hackathons are so broad in scope and technology choices, it can be difficult to not only find a mentor, but find a mentor who might be more able to help with that specific problem. At a recent hackathon put on by GE Digital, my teammates and I used a simple IT ticket system to contact mentors and let them know we we're looking for help. We really liked the idea, so we set out to create our own system for connecting mentors with participants in need of a little help.
We wrote the project in Node.js, using express as our middle ware. I setup the project using the express generator. I worked primarily on the back end, working along with Zach to build the model for the tickets, as well as a controller for the view. Zak worked on the front end with Zach using the Pug(formerly Jade) template engine to build views and forms. I also handled deployment, which I did to an Ubuntu server on AWS using dokku, mongodb, and lets-encrypt for
How it works
Student hackers would visit the site, currently hosted (for a short while longer) at zacharysang.me. A student who was looking for a mentor would create a ticket, entering important information such as a title and description of the problem. Students can also enter tags that mentors can use to quickly determine if a problem fits their skill set. Hackers then also enter their name and a description of their location to allow the mentor to find them. Finally, hackers can enter their project name. I think this last item is important, as it encourages mentors to build relationships with groups, which keeps groups motivated and results in both the mentor and hackers leaving feeling more successful.
As a mentor, the view-all ticket page can be used to see active tickets as they come in, then claim the tickets so that other mentors can focus on other groups in need. This can help keep mentors more engaged and feeeling like their time at the hackathon is valued.
What we left with
The completed project can be found on Zach's github. We left with an almost complete project in need of some polish, but I hope it can be implemented at RevolutionUC in the spring. I think this could see real use to solve the issue of wasted potential of mentors at hackathons. The devpost can be found here.
We made it to semi-finals but ultimately didn't win an award for this project. Thanks to HackYSU for a great event! !(/content/images/2017/02/tiqit-2.jpg)