Back to projects

City Battle

Head-to-head battle of 35,000+ French cities on real open data

City Battle screenshot

Overview

City Battle is a fun web app that lets you pit any two French cities against each other in a head-to-head comparison. Pick two cities (or hit the dice for a random matchup) and watch them face off across stats like population, area, density, altitude, bars, restaurants, and swimming pools. Data covers 35,000+ communes sourced from French open data.

Why I Built This

A friend's brother has this weird hobby of always comparing cities together. It made for a fun, quick side project — and a good excuse to play with French open data.

Features

  • Combat Mode — Head-to-head city comparison with animated stat bars showing which city wins each category
  • Random Matchup — Hit the dice to discover surprising matchups between random French communes
  • Leaderboard — Rankings of cities across all metrics — find out which commune has the most bars per capita
  • 35,000+ Cities — Comprehensive coverage of French communes with data sourced from opendata.gouv.fr
  • Rich Stats — Population, area, density, altitude, bars, restaurants, swimming pools and more

Tech Stack

Frontend

HTML CSS JavaScript

Data

Open Data France JSON CSV

Infrastructure

GitHub Actions VPS