Finding a roommate is difficult, confusing, and frustrating. Because of the pandemic, it's now even harder to find potential roommates.

We created a tool that enables UMD students to easily find potential roommates and people to sublease unused rooms to. In the application, users are able to input a variety of parameters relating to their preferences. Then, we calculate a compatibility score for that user in order to find the best matches. In their feed, students can see the people who we believe would be the most compatible candidates for them. Finally, the Courier API was used to send email notifications through which users could invite users to groups and accept roommate invitation groups.


Finding a roommate is a stressful and uncertain process. Furthermore, once the new semester begins, many off-campus students will be coming to campus for the first time. Without any in-person events or classes, it is extraordinarily difficult to make potential roommate connections. Asking in class group chats is ineffective at best. Thus, we decided to make this process easier by creating an easy to use and accessible application to streamline the process.

Compatibility Score

An important part of our tool is calculating a score indicating how likely it is that two people could work together as roommates. For this metric, the information that a user enters into their profile is compared to others. This can include gender roommate preferences, sleep schedule, and preferred building. Although more inputs could have been added, we believe these are the fundamental elements that must be compatible between roommates.

Courier Notifications

Courier is essential to the functionality of our application. We integrated an email service with the Courier API so that we could send customized notifications. This enables us to: Send email notifications to a user when they are invited to a group. They can also accept the invitation through that email. Keep track of user contact information.

Current methods of finding a roommate require you to constantly monitor the service (whether that be GroupMe or FaceBook). In contrast, our application allows users to enter their preferences, invite potential roommates from their feed, or then wait for an invitation notification.


Our website relies heavily on Google Cloud Services, specifically, FireBase, a platform that allows developers to quickly develop applications with a backend already built. Then, we made heavy use of the frontend javascript library React in order to create stylized, user-friendly UIs.

There were several challenges that we faced. First, we had never used the Courier API before so we had to learn how to integrate that service into our app. However, once we did we found that it was very reliable and had the capability to send highly customized messages.

In addition, gluing together the static HTML/CSS files with the FireBase functions required a lot of teamwork.

Share this project: