Inspiration
Coming into this competition, we wanted to create something that was useful for a wide range of people. As soon as we saw the city finding challenge, we realized that city finding was something a lot of people could find use for (whether its for work, school or leisure). We were inspired by Movehub, HighSpeedInternet and various travelling sites to replicate their applications but make it more accessible for the user. We realized that sliders would make a more profound UI/UX approach than clickable factors, and from there came the decision to start this project!
What it does
The Find My City app searches for the ideal city in the US to move to based on your personal preferences, and returns the top 3 recommended cities in the US for you. In addition, it provides a map of every single city the the US which detailed information about its population density, temperature, average rental costs and unemployment rate so you can explore further cities yourself.
How I built it
We first analyzed the key factors that are considered the most when moving, such as the climate and the rate of employment, and collected the datasets from various resources including Kaggle and the US Bureau of Labor Statistics. We then organized and cleaned the data through the pandas library in the language of Python. We conducted clustering use K-Means clustering with a cluster value of 100 and 100 initializations. We would have increased the number of clusters and training initializations, but the training time would have become too large. After training the machine learning algorithm in the back end, we take input live from the user in the front end and use it to predict which cluster the user's interests fall into. Based on this cluster, we return relevant cities back to the user to inform them of their recommended cities.
Challenges I ran into
This is our first time conducting data wrangling, data analysis and cluster analysis, and we spent a tremendous amount of time trying to set up our collaborative workspace. Hours were spent simply setting up Visual Studio Code with GitHub to establish our workflow. Furthermore, having no background using pandas, plotly, streamlit, or sklearn for k-means, we spent a lot of time researching how to use them and debugging issues as we learned.
Accomplishments that I'm proud of
We made a working search engine that is able to get the top 3 recommended ones out of over 35000 cities in the US. It feels great to be able to create a recommendation algorithm based on such a large data set (for us anyway!)
What I learned
Data wrangling, data visualization, cluster analysis, front end development through streamlit.
What's next for Find My City
Refining the bugs, add more customizations, make the front end looks nicer
Demo
The demo can be tried out here: http://3.16.51.185:8501/
Built With
- python
- streamlit


Log in or sign up for Devpost to join the conversation.