What if looking for a roommate was as easy as a google search – only but more accurate? Our answer is MapMatch. Inspired by retrieval augmented generation (RAG), we integrated semantic search, mind-map navigation, with AWS cloud technologies to match roommates based on their preferences and personalities.
The Problem
Existing roomate matching relies on limited criteria and lacks personalisation
Filling in forms is tedious and time-consuming
Presenting candidates in a list is not visually appealing nor informative
International students might find it difficult to describe themselves in English
The Solution
Cosine similarity is a simple way to measure how similar two vectors are, yet it inspired my team to come up with an unique solution to the complex roomate matching problem. We built a recommendation system inspired by retrieval augmented generation (RAG) and graph theory to match roomates based on their preferences and personalities.
$$ \cos(\mathbf{x}_q, \mathbf{x}_i) = \frac{\mathbf{x}_q \cdot \mathbf{x}_i}{|\mathbf{x}_q| |\mathbf{x}_i|} $$
After the user enters a text description of themselves, we compute high dimensional embeddings for extracted key phrases and store them in a vectorDB for efficiency. Then we use algorithms such as cosine similarity and L2 norm to find the k most similar profiles. These are graphed to show the connections between users.
In the next phase, users can also build a path on the graph to find a group of most compatible roomates based on mutual preferences and personalities. This enables roomate search for groups, in addition to pairs, of people who want to live together.