Acknowledgment
Huge thanks to the contributors who did the heavy lifting on this project:
- Jet Chiang — network visuals
- Eric Xie — database
- Paul Dong — frontend
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:
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.