Inspiration
As young college students, there is so much time to explore the world. We wanted to create a website that helped us choose our next destination based on certain inputs that are not usually considered. This includes happiness of the country, pollutions levels, GDP per capita, life expectancy, etc. There are also limitations on how much you can change the bars. Not only do we output the country that most fits you, but we also create a Chloropleth graph of the world that shows which countries have the highest percentage of also being a fit for you.
What it does
This website will take in inputs from the user via a slider and give them a certain amount of points they can spend on each category. Then, after submitting, the user will get an output of which countries fit them the best, as well as the Chloropleth on the side. To determine the country of best fit, we run the data through a trained machine learning model and generate a list of countries which we use to match the user with.
How we built it
We first combined many datasets into one using python and pandas. Then we trained our machine learning model, where we chose a support vector machine classifier (sklearn), to be able to determine a country label output from user inputs given through the sliders. This gets passed into the HTML file through json and javascript, which then updates the website with the answer. We also used plotly to generate the Choropeth with the dataset data, and then we converted it to a bit string to pass it and display it on the front end. This data is taken from the machine learning model, which can predict the probabilities of a country being a fit. We used Javascript to build the slider function and the point system.
Challenges we ran into
Merge conflicts took a large part of our time. In addition, since we are considering hosting it, we could not just convert our Choropeth into a png (and store into statics) and then display it, we have to pass it as a bit string and then display. In addition, since it was our first time working heavily with JavaScript, we found it slightly challenging to strategize how to extract slider values and properly update points. We also worked with a lot of unfamiliar libraries.
Accomplishments that we're proud of
We are definitely proud of the Choropeth map that provides a visualization of our model's results. We find it to be one of the more personalized aspects of our project, taking in each individual user's inputs and outputting a world painted with hues that indicate the areas which suit them best.
What we learned
We learned how to use Git effectively, built good teamworking skills and task management skills and acquired knowledge about libraires and techniques used in the real world.
What's next for GeoGenie
We want to create even more parameters and perhaps expand on ours outputs. We can have our slider stop when the user has hit the limit on points. Perhaps we could include subdistricts, or information about the country when its chosen. We also want to make the ML model more accurate and provide more data perhaps.

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