📌 Inspiration
Finding a compatible roommate can be a frustrating and time-consuming process. Many existing solutions rely on basic filters or manual searching, leading to mismatches and conflicts. We wanted to build a smarter, data-driven approach to help users find roommates that truly align with their lifestyle and preferences.
🔍 What It Does
BadgerMate matches users with compatible roommates based on their survey responses. It collects preferences related to cleanliness, sleep habits, social behavior, and budget, then applies a matchability scoring algorithm to rank potential roommates. The system filters out incompatible users before presenting the top 10 best matches to each user.
🛠 How We Built It
Frontend: A web-based interface where users sign in and complete a structured roommate preference survey. Backend: A Flask API that processes survey responses, encodes answers numerically, and stores them in MongoDB. Databases (MongoDB): Profile – Stores user profiles, including gender, location, and budget. QA – Stores user responses to the survey questions. QA_Pref – Stores user responses for their roommate preferences. Questions – A dynamic survey system that updates the website automatically when new questions are added. Matchmaking Algorithm: Computes a matchability score using weighted differences in user responses and maintains top matches in a min-heap for efficiency.
🚧 Challenges We Ran Into
Designing a dynamic survey system that can adjust to new questions without code modifications. Ensuring that our matchability score accurately reflects roommate compatibility. Structuring MongoDB collections in a way that supports efficient filtering and scoring.
🏆 Accomplishments That We're Proud Of
Successfully implementing an automated roommate-matching algorithm. Creating a fully dynamic survey system, allowing future modifications without backend changes. Optimizing match storage using a min-heap for fast retrieval of top matches.
📚 What We Learned
How to design a scalable survey-based system for data collection. The importance of data encoding in numerical compatibility scoring. How to optimize database queries for real-time filtering and matchmaking.
🚀 What's Next for BadgerMate
Apartment Listings – Integrate available housing options to match users with roommates in shared apartments. Chat Feature – Allow matched users to communicate before making a decision. AI-Enhanced Matching – Upgrade the matchability score using user activity data for better roommate recommendations.
Log in or sign up for Devpost to join the conversation.