Inspiration

Some of us were geography nerds and we thought it was a bit of a shame that geography wasn't really being taught at the high school level. Even though there are international geography bees, people just did not seem to have the interest to learn geography. We wanted to make a website that would make learning geography more fun as well as help students enhance their geography skills.

What it does

It is an all-in-one platform that provides multiple games for a user to play that are based on geography. There is a multiple choice game where users can can pick the right answer from a given set of options. There is also a map game, where the user will have to place a pin on a map on where they think the right answer is located. All of the questions throughout the various games are generated by ChatGPT.

How we built it

We used Springboot to create a server that would allow the frontend to query questions from ChatGPT. We then used React alongside various CSS libraries to create the website. The map used is from Google's map api. To calculate the distance between the correct answer and the user's guess, the Haversine formula was utilized via an external library.

Challenges we ran into

We ran into various challenges. We all worked on our own things, which made it a little tricky to know who was working on what. That actually led to someone having to scrap some code they wrote because another person had already wrote it. We faced numerous technical issues as well. One major issue was that Google did not offer an API that allowed us to find the straight-line distance between two points. For example, you could not find the distance between Yerevan Armenia and Columbus Ohio because they are separated by a body of water. So, we had to dig deep and we found that the Haversine formula allowed for straight-line distance calculations. Another tricky issue was getting ChatGPT to give us the right prompts. Despite us giving instructions to not give a country as an answer for a map question, it still did it anyway. We had to brute force what the right prompt to ask ChatGPT was and I think we did well. Finally, our last major challenge was time. We had to style a lot of things and we just did not have enough time to do that, so that resulted in some things being scrapped. Time was by far our biggest adversary, as you could only do so much in a given day.

Accomplishments that we're proud of

The biggest accomplishment we are proud of is the map of course. It took an excruciating amount of time but ultimately we pulled it off and we're really happy with how it turned out. All the logic for the map, from calculating the distance to plotting the marker for where the right answer is, we are really proud of that.

What we learned

We learned a lot about working in a team together. We had to manage each other's schedules and oddities. One of our teammates could not call at all, so we had to compensate for that. I think we all grew much closer and we're definitely going to benefit from this when participating in other hackathons. We also learned a lot about Google's various APIs and how to use the Google Cloud Console in general. Time management was also a key lesson that we learned from this hackathon that we will be sure to account for in future hackathons.

What's next for GeoQuiz

We want to add a leaderboard system so other users can face off against one another. We also plan to expand the types of questions as well as the subjects included in our website beyond Geography such as Math, History, etc.

Share this project:

Updates