What it does

ROOM.IT is an interactive app on which students can meet with others with similar profiles!

This is a simple management app to help you find roommates that match your preferences and match your qualities. It streamlines the process of finding roommates by using a vector LLM to convert preferences into vectors in a space. The problem with current room matching is that it does not accurately match roommates together based on their preferences. This app leverages modern technology to ensure a stronger matching system.

The app is built using Next.js with React.js and uses the Prisma ORM with SQLite for its database which stores user information, as well as their preferences.

The main challenges we ran into was due to the scale of the application. It took a while to set up APIs that were able to communicate with the cloud and the local machine. The time-limit was a challenge, but it reminded us to manage and prioritize the things we needed most.

The ranking system is largely built around LLMs. First, an embedding of a user’s bio is created using LLM2Vec. This is then compared to the embeddings of all other users using cosine similarity. This process is repeated for an embedding created from the 5 key words from the bios, and a custom distance function inspired by mean squared error accounts for features not indicated in a user’s bio, such as their age, country, major, etc., all of which can be interpreted as either embeddings or one-hot encodings. The weighted sum of these terms is found, with the weights being either user-inputted (i.e. based on certain “important” preferences) or learned through user feedback over time. The resulting profiles are to be arranged from highest to lowest similarity rank, and the primary keywords are to be displayed!

Share this project:

Updates