MapMatch

Semantic-based roommate matching · AWS hackathon build

Acknowledgment

Huge thanks to the contributors who did the heavy lifting on this project:

Summary

We built a semi-working AWS-based roommate matching system under a 6-hour hackathon constraint: generate semantic embeddings for user descriptions, compute similarity, store user profiles, and serve matches.

The Algorithm

We embed each user description using AWS Titan embeddings, then match users by cosine similarity in embedding space. We used AWS Lambda to compute embeddings, DynamoDB for persistence, and an AWS-hosted server for the API.

Embeddings → Similarity

Cosine similarity:

$$\text{similarity} = \frac{A \cdot B}{||A|| \cdot ||B||}$$

where $$A$$ and $$B$$ are the embeddings of the descriptions.

Graphical Projection

Jet also implemented a 2D projection to visualize how descriptions cluster. See his write-up for details.

Conclusion

We got a working demo in 6 hours, learned a lot about gluing together AWS primitives under time pressure, and (bonus) we won the event.