As we approach the end of the school year, UMD students must start thinking about housing and roommates for the following year. With that being said, finding a reliable roommate has always been a stressful task and we wanted to figure out a way to make the process simple. With Seek, you can find an apartment that suits your needs and roommates that you won't regret!
What it does
Seek is an IOS application meant to match a user with their perfect roommate! Users have the ability to indicate personal information like Age, Gender, University, Graduation Year, and Lease Term Length Desired. Using these data points the application uses a machine-learning algorithm to cluster similar users into groups. From that point forward, Seek will suggest the user to other users from their cluster. The User Interface is set up in a way in which the user can view a potential roommate's profile and swipe right if they want to interact with them or swipe left if they do not want to. Once users are matched they can use Seeks messaging feature which allows matched users to communicate. Seek also has a map feature that allows the user to browse through rentals in the area and view information about the property. They can give the property a "Like" which then shows other matched users that they liked the property.
How we built it
- Used SwiftUI to create iOS app
- Integrated UIKit for further animations and design of the app
- Created a chat messaging feature from scratch so prospective roommates can message each other
- Utilized CockroachDB Serverless to store users and their info in a database
- Trained machine learning model for recommending roommates with Scikit-learn
- Used Seaborn, Pandas, Numpy to cluster and sort data from the model and visualize data
- Hosted cluster using Google Cloud services
- Used Python and FastAPI to handle GET and POST requests to the database
Challenges we ran into
- Getting CockroachDB Serverless to work was simple, but hosting it proved to be incredibly difficult. We hosted our clusters on Google Cloud which took an extremely long time to get working with CockroachDB.
- CockroachDB Serverless seems to be a newer service so there was a multitude of inconsistencies in documentation we had to tread through.
- Lots of path/environment variables problems when attempting to host our server on Google Cloud with CockroachDB serverless.
- Missing dependencies or not the same versions of libraries when trying to get our software working on teammates' computers.
Accomplishments that we're proud of
- Our dope logo
- Getting CockroachDB Serverless working (took most of our weekend)
- We used Git and integrated/merged our code very efficiently
- Training and implementing a successful recommender model
- Implementing a wide variety of features in one weekend
What we learned
- Designing apps with SwiftUI
- Communication between technologies using requests and FastAPI
- How to host a database on Google Cloud Run
- How to train an ML model properly and avoid overfitting
What's next for Seek
- Better UI, more fluid animations, and design
- Add many more filters for housing and what kind of roommates you are looking for
- Add more ways to find roommates besides just the swiping style.