Skip to content

Repository files navigation

Geography Nerd

Geography Nerd logo

MIT License CI Node 20+ Issues

Geography Nerd is a browser game that tests directional geography: given two cities, decide whether one is north, south, east, or west of the other.

Play the live demo →

The app is intentionally simple:

  • No accounts
  • No app-level analytics
  • No quiz/session/answer tracking
  • No ads
  • City data is bundled locally and ships with the build

Tech Stack

  • React 19 + TypeScript
  • Vite
  • Tailwind CSS
  • React Leaflet + CARTO raster tiles
  • Vitest for unit tests

Quick Start

Requirements:

  • Node.js 20+
  • npm
npm install
npm run dev:web

The app runs at http://localhost:5173 and requires no environment variables.

Scripts

npm run dev:web                # start the Vite dev server
npm run build:web              # type-check + production build
npm run lint                   # lint the frontend
npm run test                   # run Vitest unit tests
npm run generate:local-cities  # rebuild web/src/data/localCities.ts
npm run import-cities          # refresh data/cities-import.sql from GeoNames

City Data

The bundled city list lives in web/src/data/localCities.ts. It is generated from data/cities-import.sql (top ~1000 cities from GeoNames with regional weighting) and the country lookup in data/countries.sql. See CONTRIBUTING.md for how to refresh it.

Privacy

The application does not create user accounts, persist quiz state, store answers, or include app-level tracking/ads. See PRIVACY.md for external service notes.

Attribution

City data is derived from GeoNames. Maps use OpenStreetMap-derived tiles through CARTO. The logo was generated with Google's Nano Banana AI. See ATTRIBUTION.md for the full list of sources.

License

Code is licensed under MIT. Data and map sources retain their own licenses and attribution requirements.

Contributing

See CONTRIBUTING.md for development setup and CODE_OF_CONDUCT.md for community expectations. Security issues should be reported via the process in SECURITY.md.

About

No description, website, or topics provided.

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages