Inspiration

Geography is everywhere, yet most people have nowhere to practice it competitively. We wanted to build something that made learning geography feel like a game, not a chore, with real stakes in the form of a live ranked leaderboard.

What it does

How we built it

Challenges we ran into

Accomplishments that we're proud of

What we learned

What's next for Where in the World trivia game

Inspiration Geography is everywhere yet most people have nowhere to practice it competitively. We wanted to build something that made learning geography feel like a game, not a chore, with real stakes in the form of a live ranked leaderboard. What it does Where in the World is a live geography trivia platform with two games, a real-time leaderboard, and a full REST API. Players compete on capital city and country clue challenges, with every score instantly reflected on a persistent global leaderboard backed by PostgreSQL. How we built it We built the backend with Node.js and Express, exposing six REST endpoints including bonus features. PostgreSQL on Railway handles persistent storage. The frontend is vanilla HTML, CSS, and JavaScript with no framework, keeping library usage minimal. The API is documented with OpenAPI 3.0 and served via Swagger UI. Challenges we ran into Keeping the leaderboard truly dynamic without a page refresh was the core technical challenge. We also had to persist performance metrics across server restarts, implement proper REST statelessness, and ensure every endpoint returned consistent JSON responses under load. Accomplishments that we're proud of We completed all three undergraduate bonus criteria: /history with timestamp filtering, Docker containerization, and an extended /info endpoint with standard deviation, quartiles, and a live score distribution chart. The performance endpoint logged over 1,600 calls automatically with zero manual instrumentation. What we learned We learned how REST architecture, persistent cloud databases, and client-server decoupling work together in a real production environment. Building without a frontend framework forced us to understand how the browser and server actually communicate at the request level. What's next for Where in the World Multiplayer head-to-head mode, a flag identification game, more country sets, and a global ranking system with user profiles and historical performance tracking.

Built With

Share this project:

Updates