Imperialism Map
Imperialism Map is an interactive website that shows maps based on the "Imperialism Map" concept. At the start of a season, each team owns the "territory" around their home stadium or arena. After each game, the winner takes all of the territory that the loser controlled (if any). These simple rules create a fun narrative for fans to follow throughout the season.
About the Project
Imperialism Map started as a small project to learn D3.js. Over time, it has evolved into a full-fledged interactive site with thousands of views per month.
The project has since expanded to include:
- Support for multiple leagues (NFL, NBA, and College Football)
- Historical season pages
- Automated data ingestion pipeline for game results
Technical Overview
The website is built with Django and Django-Distill on the backend and D3.js for front-end map rendering. It uses GeoJSON county boundaries combined with D3's Voronoi diagram algorithm to assign territories at the start of the season. Game scores are scraped via Python ETL scripts.