Do you ever have that crazy feeling that makes you want to stay up all night to make something cool?
Most of the time, I do not - I love my sleep as much as the next person (which, depending on who you’re talking to at MIT, may range from “I love it a lot!” to “uh, sleep and I haven’t been acquainted for a few days”).
But every once in a while, some things just require that extra push that makes me stay up at night and skip sleep. Even rarer than that, I sometimes stay awake just for fun, for the sake of learning something new, as a deliberate, rather than an unplanned decision. And my most recent experience doing this was at HackMIT - our annual hackathon, that occurred from September 18-20.
For a long, long time now, I’ve been fascinated with the idea behind hackathons themselves - having to create cool projects in 24 or 48 hours doesn’t seem like a feasibility when you think of it from an engineering perspective. Good projects take time, in my opinion, and in many cases may have more than just a handful of people working on them for a couple of nights. But yet in hackathons, teams somehow make stuff work. Sure, maybe there are a few glitches in the demos, maybe the slide deck or the user interface isn’t as pretty as you would want it to be, but in the end, the time constraint does somehow bring out a ton of creativity in people to do stuff that otherwise would take a long time to build.
For me, HackMIT was the first hackathon where I coded a project and made it into a working demo, as opposed to just working to have a pitch-able product with just a slide deck. For my team (DeMITer), I teamed up with three other MIT ’24s (because all pre-frosh were guaranteed to be selected as participants through the application process) and we had lots of fun developing Kore (pronounced kor-ee)1!
So, without further ado, here is our HackMIT submission in the education track at HackMIT 2020!
Kore is a simple platform to help in synchronous learning by matching students to other students who are their learning “complements.” We were inspired to create this because of our struggles in finding study groups to help us navigate our first semester at MIT, where homework assignments (popularly called problem sets or psets) are designed to be worked on in a collaborative environment. Forming virtual pset groups is hard, especially when you may be struggling on one problem, but you end up joining a psetting Zoom call with other students who end up discussing a totally different problem that does not help you at all. So to help improve mutual learning, we created a system where you would be matched to someone who is your complement, i.e. they are struggling with the problems you have solved and they have solved the problems you have not. That ways, pairs of people can help each other out, and for every user, all they need to do is enter the problems they have solved, and the problems they haven’t, into our database. Once they do that, the algorithm spits out a list of other users ranked by who is the best complement i.e. in which case will the mutual learning be maximized. We use kerberos values2 to uniquely differentiate between users.
We made the web app using Django, which we learned how to use during the two nights of the hackathon. Seriously — none of us knew how to use it at the start of the hackathon, we only picked it because we knew Python and Django uses Python, which certainly made for an … interesting experience. We eventually did manage to get everything up and running by the time judging took place, and here are some screenshots from our final demo!
Bonus points if you spotted the puns on the team and product names! It has always been a long-running joke with me that if I must choose names for anything, I refer to ancient Greek mythology or Greek words in general. For those of you who did not have an obsession with Greek mythology during your formative teenage years (thanks, Percy Jackson), Demeter is the ancient Greek goddess of harvest, grains, and fertility, while Kore (also known as Persephone) is her daughter, the queen of the underworld. The MIT in DeMITer's name is there because, well, all four of us were from MIT!↩
Kerberos values (kerbs for short) are identifiers used to uniquely differentiate between different folks at MIT and help them access MIT-only resources. Don't worry - none of these are our real kerbs!↩