Inspiration
We are excited to share our inspiration for building a roommate matching website for students. We recognized that finding a compatible roommate can be a time-consuming and stressful process for students, especially if they are new to the area. Our inspiration to build a roommate matching website for students stems from our desire to solve a real-world problem and make a positive impact on the lives of many students.
What it does
Hoomate.tech is a webpage designed to help students find roommates that match them based on there characteristics, housing preference and lifestyle. The matching algorithm uses several python packages. Pandas are used to read the csv file containing the data.
It uses a cosine similarity algorithm to gather user preferences along with the importance of those specific preferences. The users were then matched according to their similarity scores. The similarity score is a measure that calculates the cosine of the angle between two vectors in a high-dimensional space. In this case, this was represented by the preferences of the two users. After calculating the cosine similarity between pairs, the algorithm generates a similarity matrix that identifies the top N most similar individuals to a given user.
In addition to the algorithm, we designed a webpage that has all the essential features. We have a home, about, community, rent calculator, available rooms, and a login/register. All these features in combination with the main algorithm creates the final product that is Hoomate.
How we built it
For the design/front end, we used HTML, CSS, and JS. For some of the features/backend, we used Python and Google map's API. For the main algorithm, we used streamlit and dashboard to create the user interface. We then integrated the dashboard onto the webpage so users can easily access it. We wanted a section where users could interact with each other so we used PHP so create a login/register page and a community page. The user data and inputs are stored in a MySQL database.
Challenges we ran into
Our main challenge was trying to import the streamlit algorithm to our website. Using many preferences of the algorithm tripped us up many times and we faced many errors. In addition, connecting the back-end to the front-end was very difficult. Each one of the group members worked on a different part so there were a lot of bugs when combining everything together. Ideally, we would have had a better system for testing/debugging but ultimately, everything worked out.
Accomplishments that we're proud of
We worked tirelessly throughout the night to get a final project that works. We are very proud that we got a working project.
What we learned
A major hassle we encountered was integrating all of the different features of the webpage onto one application. As we worked more and more on the project, we got more comfortable with the way the algorithm worked along with the method of integrating it into the webpage.
What's next for Hoomate
To further improve Hoomate, there are things we can do to improve the user experience. The algorithm itself is fine however the design elements surrounding it can be improved upon. In addition, we can further implement the room/real estate aspect along with creating a more interactive community page.
Log in or sign up for Devpost to join the conversation.