Inspiration
As students from three different countries, our unique backgrounds naturally led to discussions about geography. We talked about GeoGuessr, a game where you are given a location and you have to guess where you are, and that sparked the idea for this project. We decided to create an ML model that could play this game.
What it does
The user goes on our website and inputs an image of a place. After that, our AI model analyzes the image and predicts the country where it was taken. Then the map zooms into the corresponding country with the highest probability.
How we built it
We started by determining what data the AI needed, then explored training datasets. Using PyTorch, CLIP, and TensorFlow, we trained our model on 50,000 images. The backend, built with Flask and Python, gives the predictions, while the frontend uses React and Leaflet to display results on a map.
Backend: PyTorch, CLIP, TensorFlow, Flask, Python Frontend: React, JavaScript, Leaflet, CSS, HTML
Challenges we ran into
Setting up AWS S3 and SageMaker took longer than expected, making model training and accuracy improvements more challenging. We ended up just training the models locally and didn't use sagemaker. Additionally, integrating the map with our application required a lot of troubleshooting.
Accomplishments that we're proud of
Successfully trained our model on 50,000 images, achieving strong results. Built a fully functional frontend that integrates seamlessly with the backend. The ML Model also beats us on average when we were testing it.
What we learned
Understanding how PyTorch machine learning models are trained and function, the interaction between React and backend services, and the process of building a website with interactive map integration.
What's next for GEOGUESSR.AI
Training on more data to improve accuracy at the country level. Expanding predictions to subregions within countries. Exploring additional use cases, such as identifying locations from other types of images. We have databases that we can use, but they were far too large to train off of in just 24 hours. We also have datasets for specific regions within countries that we want to implement soon.
Built With
- css
- flask
- html
- javascript
- leaflet.js
- openaiclip
- python
- pytorch
- react
- tensorflow

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