We were inspired by the housing crisis at Purdue and wanted students to be able to find roommates that they match to and streamline the whole process to be easier and more convenient for the user.
What it does
After signing in, you will be greeted with questions that asks about what you want in a roommate, who you are as a roommates, and who you are in general. After that, we calculate the best likely roomate for you. We then spawn the other user with the highest similarity and go through a tinder-esque process where the user can choose yes or no on the other user and if both of the users chooses yes on each other, they get matched and are able to start messaging each other.
How we built it
A mixture of Kotlin for the backend, MongoDB for the database, and HTML/Tailwind/JS for the frontend was used to create the web app.
In order to authenticate users, the BCrypt library is used to create a salt and pepered SHA256 hash per user for security reasons.
Websocket communication was used to process chat messages between multiple users occuring in real time, and a custom authenticated API to manage non-concurrent interactions between users.
We developed our own matching algorithm, which treats all question answers as normalized higher dimensional vectors and grabs the standard distance from the two to calculate a residual, and users are then sorted and paired based on the residual.
Challenges we ran into
The two biggest challenges we ran into were the lack of time that we had in building the project as there were a lot of difficulties that we weren't expecting, and to have to learn new languages, frameworks, and platforms all on the fly.
Accomplishments that we're proud of
We were really proud of building the messaging system, it was certainly the one that took the longest time for us to develop and the hardest one we had to learn to do.
What we learned
We learned that if we knew what specific languages, frameworks, platforms, and databases that we will be using, that we should be more educated upon these specific things prior to something like a hackathon. We also learned on how to truly build projects together as a team as this was a first-time experience for all of us in building a application together. The communication needed for it was definitely rough at first, but we got better throughout our time working on RoomMe.
What's next for RoomMe
We plan on potentially working more on RoomMe after the hackathon, as far as we're aware there really isn't something like this widely on the market yet.
Log in or sign up for Devpost to join the conversation.