Konum Avı
Location guessing game set in Eskişehir — Street View, map pins, distance scoring, and leaderboards.
Role: Full Stack Developer
- City
- Eskişehir
- Rounds
- 5
- Live
- konumavi.com.tr
Project Overview
Konum Avı is a production web game I built for Eskişehir: players explore Street View, place a map pin, confirm their guess, and score points from distance across five rounds.
What It Does
Each round drops the player into a new panorama. After marking a location on the map, the game reveals the true position, awards tiered feedback, and advances until a summary screen with share card and optional leaderboard entry.
Technical Approach
Vite + React SPA on the frontend; api.php handles rounds, scoring validation, leaderboard writes, and daily stats. Hundreds of pano locations are pre-generated into locations.json. Deploy is a static build plus PHP endpoints on the same domain.
Architecture Decisions
- Private data directory: Leaderboard and rate-limit files live outside
htdocs - Client + server scoring: Fast UX with server-side bounds checks on submissions
- Mobile layout system: Portrait bottom map strip, landscape side dock, chrome hide on map interaction
- Discoverability:
sitemap-index.xml, robots rules, and Google Search Console verification
Benefits
- Playable GeoGuessr-style experience focused on one city
- API keys and leaderboard data kept off the public web root
- SEO pages (blog, FAQ) and sitemap for discovery
- Daily player counter on the home screen for social proof
Key Features
Street View rounds
Random Eskişehir panoramas with server-side location pool and coverage checks.
Guess map
Leaflet + OpenStreetMap with bbox limits, route reveal, and distance-based scoring.
Leaderboard
Per-difficulty rankings with validated nicknames and server-side submit limits.
Mobile-first UI
Collapsible map panel, immersive map mode, and compact round result sheet.
Technologies
framework
language
library
tooling