By Luc Coté, Filip Kierzenka, Connor Browder, V Form and Jason Chen, IV Form
The Blueprint Hackathon and Finding Your Scientist Doppelgänger
On February 17th and 18th, the annual Blueprint Hackathon was held at MIT. You may wonder what exactly a Hackathon is, and we certainly wouldn’t blame you. A Hackathon is essentially a “Hacking” Convention, although “Hacking” is used very liberally to make the name sound cooler than “Computer Science” Convention. On the first day, we had the Learnathon, which is devoted entirely to learning about computer science, specifically about App Development, Web Design, or Basics of Coding. Taking the Web Design course, we learned a lot about a style of programming our JAVA based classes have not exposed us to.
The first day was an appetizer of new knowledge. The second day gave the main course: The Buildathon. This is where we put our knowledge to the test, working as a team to create a final project in 9 hours. Our idea was to build a program that matches a user’s face to a famous scientist doppelgänger.
At first, the project went smoothly; as a team, we were able to quickly build a model neural network to match the faces and built a simple popup to display the results. A neural network acts like a black box. A black box is trained through the feeding of images and expected outcomes until the network has learned to analyze new pictures and make a prediction of what the picture is. This would allow us to send it pictures of the user’s face and have the program return which famous scientist it thought the person was.
Then it was time to train our neural network, the most essential and intensive part of the process. After around an hour, we realized our small library of around 500 pictures of scientists was far from enough data to properly prepare a facial recognition neural network. Proper training takes thousands of images, hours of time, and a ton of processing power; none of which we had. With time running out and a failed backend, our team had to quickly adapt and keep our project afloat. Under the suggestion of one of the MIT student mentors, we looked for a pre-trained facial recognition library to replace our failed neural network. A pre-trained model would allow us to drastically reduce the time needed, as it gives the program a general idea of where on the face to look for features right from the start. After around 20 minutes of searching and reading the documentation, we found a library that was exactly what we needed, the python face_recognition library. With little time left, we implemented the library into our program and quickly sorted out the bugs that it caused. With only 5 minutes left until submission, we finally finished with a working program.
With the addition of the library, our program worked perfectly and gave satisfactory results for the testing. During judging, all the judges had a great time finding their scientist doppelganger and a few even learned about a scientist they had never known before. We felt that we had a pretty solid product, but unfortunately, our program did need some polishing, and we did not win the final prize. Regardless, it was a fantastic experience to improve our skills in a new branch of CS and to expose ourselves to the process of product development.
After the hackathon, we continued to refine our program, not only increasing its efficiency and functionality but also planning different directions in which we can take it further. For instance, we are currently working on combining our Web Design track at the Learnathon with our program to build an online version that everyone can access. Another idea we’ve been experimenting with is a Chrome Extension which can log you into website accounts. The extension will make sure that it only puts in your username and password if you are the one trying to log in. We hope to have these improvements online soon.
All in all, both days of Blueprint were fantastic. We learned so much and it resulted in a project which we are all proud to have built, and will continue to improve. We also now have a much better understanding of how to approach hackathons like Blueprint and strategies to get the most done with the little time given. With this new understanding, we all can’t wait to have another opportunity to attend Blueprint next year!