Recently, I’ve had the opportunity to visit a friend up north and experience my first ever hackathon, hosted by none other than MIT. Every year, undergraduate students from all over the world gather to Cambridge to attend this student-run event. The goal of a hackathon is to get as far as possible in realizing an innovative project that aligns with an overall theme. For HackMIT, we had 24 hours to design a tech-based project focused one of four areas: sustainability, education, health and accessibility, and interactive media. In working on my project, I developed my coding skills a bit while getting to witness firsthand what life is like for both a CS major and an MIT student.
The Opening Ceremony
On the day of the competition, we all gathered in a huge gymnasium for the opening ceremony. I was immediately blown away by the sheer number of competitors lining the bleachers in preparation for the our guest speaker, Ali Partovi, to kickoff the hackathon.
When the ceremony finally began, we were introduced to all the sponsors, and at this point, I gained my first piece of insight into the computer science community. All of the sponsors at the event appeared to be tech-based companies, with some of them, including Partovi, being representatives of mentorship programs designed to facilitate the innovation process for aspiring computer scientists. This along with sponsors ranging from cryptocurrency to health technology painted a picture for me of a community that fostered ambition in achieving goals teetering between wealth and altruism.
After the sponsors were introduced, Partovi began his speech, which was, interestingly enough, one of the highlights of my time in Cambridge. Apparently an avid Matrix fan, Partovi attempted to kick off his talk by sharing several scenes and quotes from The Matrix, but he was met with technical difficulties, resulting in a few awkward yet entertaining minutes of Partovi adamantly trying to resolve the issues and share with us the masterpiece that is the 1999 original version of The Matrix. Eventually, he succeeded and we were rewarded with a geeky adoration of the classic film, with Partovi confessing that he even named his mentorship company Neo after the movie’s main character. Partovi highlights a conversation between two characters in the film that discusses the idea of not having to “dodge bullets.” And from this, he segues into his main discussion.
The rest of the speech was centered around Partovi’s experience in the tech industry and about not being afraid of failure, which he calls “bullets.” Though outside of that primary purpose, there were some questionable decisions in his talk. He began by discussing a time when he failed to close a deal with Steve Jobs because he acted dishonestly, which appeared to be a valuable lesson on its own, but he then followed this discussion with a time he lost out on a deal for being too honest. I will leave it to the reader to decide the moral of this story. Afterwards, Partovi took the opportunity to promote his mentorship program Neo and in the process make a comment that later sparked a feud with another mentorship program sponsoring the event.
After the ceremony, my team took a moment to explore the MIT grounds before beginning our project. Within the gymnasium itself, there were sponsors hosting independent coding challenges and offering freebies. I recognized this as a so-called “networking opportunity” that I always hear CS majors talking about. There were also various workshops, including one on how to work with Hugging Face AI models, which was interesting, and one on how to mint NFT’s, which was less interesting.
Although many groups stayed in the gym, we decided to leave and find a more quiet place on campus to work instead. Our journey led us all throughout MIT, which had a very interesting layout. The entire campus was a vast network of buildings and hallways with an interconnected basement system. One hallway in Building 17 can lead you to Building 22. It was as if the entire school were its own small indoor city. This was not what I expected when I heard the rumor that MIT students don’t go outside. Eventually, our journey led us to the MIT banana room, a room that provides students with an endless supply of bananas as they slave away on their homework assignments or prepare for their next exam. We sat down on some brightly colored bean bags amidst a wall of banana paintings and got to work.
We chose to work in the interactive media category. Our initial goal was to design a game using a large language model. The premise of the game involves two parties, guessers and pretenders. The guessers would have to choose a prompt for the pretenders to answer, but among the pretenders is an AI that will also respond to the prompt. The goal of the guessers is deduce which response was AI generated, while the pretenders’ goal is to fool the guessers into choosing incorrectly. In challenging the guessers to distinguish an AI from real people, the game highlights how far AI has come in mimicking human speech and thought. On the other hand, pretenders are challenged to “act like an AI” in the sense of thinking on their feet and producing a seeming clear and cogent response according to various prompts.
Unfortunately, late into our project, we realized that we were too ambitious and would not be able to create a presentable program in time, so we decided to scrap the project in favor of a rhythm game involving hand gestures, aptly titled Hands Dance Revolution. By feeding data of different hand poses to a convolutional neural network, we were able to train the network to identify when those poses were being made on camera. We then used the Pygames library to create a basic game that kept a count of how many times the hand gestures were correctly matched in a given time limit. This game was a basic proof of concept of our actual idea, which would have been a game similar to a hybrid if Just Dance and Dance Dance Revolution in which hands would be positioned and posed to the beat of a song to score points.
The creation of this project required several new skills. Although I had experience in Python with data science, using Python to make games was entirely new to me. My friend spent hours watching countless tutorials on convolutional neural networks. It was not until 6 in the morning that I went to bed for an hour, shortly before it was time to turn in our project. When the moment of truth came, we did not make as much progress as we had wanted, but we at least had a presentable project for the judges.
After the window for projects closed, we had about an hour to prepare for our presentation on our project. During that time, we spoke with other teams, one of which had a project that I particularly liked. They designed an web extension that used an large language model trained on lecture transcripts in order to answer questions for students watching the lecture and redirect them to the appropriate timestamp in which relevant information is discussed.
When it was time to present our project, I spoke enthusiastically about our game idea and the next steps for our program. However, the judges did not seem too interested in the video game angle. It was not until one of my group members improvised and discussed the potential that our project had in helping people learn sign language or recover motor functions that the judges began to get excited. What I had not realized was that it was not just the project that the judges were assessing but us and our ability to sell our project. Throughout the presenting period, we were given advice by the judges on how we could better market our project and make it seem more appealing to potential investors. Once again, I was reminded that CS majors were very externally motivated and ambitious people.
Unfortunately, we did not make it to the second round of presentations, but this experience is something that I will never forget. Overall, I had fun seeing the sights in Cambridge and immersing myself in something new, but as a physics major interested in becoming a researching professor, I could not match the energy of most of the other competitors, who were more interested in working for big companies and creating startups. However, because of my different interests, the stress of the project was not as bad for me as it seemed for many other people. As an avid seeker of new experiences, I would definitely recommend doing most things at least once. But in particular, attending HackMIT or another hackathon appears to be an excellent way of deciding if the atmosphere of the computer science world is right for you.