About Imperialism Map

Tracking territorial conquest across American sports, one game at a time.

Where This Idea Came From

The Imperialism Map concept originated on Reddit's college football community around 2017. The idea is brilliantly simple: at the start of the season, every team "owns" the territory surrounding their home stadium. When teams play each other, the winner conquers all of the loser's territory. By season's end, the map tells the story of conquest and defeat across the entire country.

What started as a creative way to visualize college football seasons has captured the imagination of sports fans across multiple leagues. It adds another layer of narrative to the season: even when your team is having a rough season, they might still control half the country on the Imperialism Map!

History of ImperialismMap.com

This project started in 2018, when I built a simple, non-interactive imperialism map as a way of learning JavaScript, D3.js, and frontend development in general. I never published it and it got forgotten in a folder for years, until I rediscovered the project in 2024. While the concept was still popular on Reddit, I couldn't find a dedicated, interactive website built around the idea. So I decided to revive the project when I realized people were still searching for this content online. I've been working on it as a fun side project in my spare time ever since.

Features

Interactive Visualization

Use the time slider to see how territorial control changes throughout the season. Hover over territories to see team information and stadium details.

Multiple Sports

Currently supporting NFL, College Football, and NBA, with more sports coming soon. Each sport presents unique challenges—basketball seasons can lead to one team controlling everything!

Historical Data

Travel back in time to see how past seasons played out on the Imperialism Map. (Coming soon: data back to 2005!)

Territory Statistics

See not just which teams control territory, but how many territories they control and track changes week by week.

Technical Details

This site is built with:

  • D3.js for the interactive map visualizations and Voronoi territory calculations
  • Django-Distill for static site generation with the flexibility of Django
  • ESPN's API for real-time game results and team data
  • Python ETL scripts for data processing and geocoding stadium locations
  • AI assistance - Most of the code for this project was written in collaboration with Claude and Gemini.

What's Next?

This project is constantly evolving. On the roadmap:

  • Historical imperialism maps going back 20+ years
  • Create your own imperialism maps for fantasy leagues or video games
  • County-based territories (instead of Voronoi diagrams)
  • Population and demographic data for territories
  • More sports: MLB, NHL, MLS, and beyond
  • Weekly email updates during the season

The Endgame Problem

The imperialism map concept was created for football, a sport with relatively short seasons. In sports with many games (NBA, MLB), one team often ends up controlling everything partway through the season. I'm thinking about solutions like:

  • Restarting the map once it's consolidated to one team, or maybe even before that
  • Mid-season resets at All-Star breaks
  • Alternative rules

Get In Touch

Have ideas for new features? Found a bug? Want to see your favorite sport added? I'd love to hear from you!

This is a passion project built by a single developer who loves maps, sports, and data visualization. Your feedback helps make it better for everyone.

Contact Me