30-Day Map Challenge 2025: Director's Cut

Build 30 real-world maps in Python — using open data, satellite imagery, and GeoAI.

Thirty maps, thirty days, one language. This is the full behind-the-scenes cut of the 2025 #30DayMapChallenge: every project rebuilt from scratch in Python, with the source code, the ready-to-run data, and the decisions that don't make it into a YouTube tutorial. From interactive POI maps and isochrone animations to 3D lunar terrain, wildfire detection, and river networks — you build all of it yourself.

WHAT THIS IS

Most map tutorials show you a finished result. This one shows you the whole build — planning, tooling, the data wrangling, and the aesthetic calls — across 30 genuinely different projects. It's not a theory course; it's 30 complete pipelines you run, read, and adapt. Every map comes with full source code and a ready-to-run data sample, so nothing is left as "an exercise for the reader."

You don't need prior geospatial experience. The projects are grouped into themed sections that build a real working knowledge of the Python geospatial stack — vector data, urban analytics, raster and satellite, 3D surfaces, networks, and a first taste of GeoAI.

WHAT YOU'LL BUILD

Thirty projects, organized into eight themed build-sections plus setup and a reference toolkit.

Vector foundations. Interactive POI maps over Budapest, a road-accident map across ~100,000 street segments, IUCN wildlife-habitat polygons, blue-ink landmark cutouts, and a Web-Mercator-vs-true-size country animation that shows why projection choice actually matters.
[VISUAL: Day 1 POI map or Day 21 blue-ink landmark cutouts.]

Urban analytics & accessibility. NYC subway isochrones with Pandana and GTFS, Vienna's urban fabric, a 15-minute-city walkability analysis across four European capitals, and Budapest transit accessibility from raw GTFS.
[VISUAL: Day 7 NYC isochrone animation — one of the strongest visuals in the course.]

Time, change & animation. 200 years of Manhattan construction, two decades of Dubai's growth from WorldPop rasters, and a cinematic projection of world population to 2125.
[VISUAL: Day 6 Manhattan growth time-lapse.]

Raster, satellite & remote sensing. 15 years of cloud patterns over Southeast Asia, an end-to-end wildfire-damage pipeline on the 2025 LA fires (Sentinel + NASA FIRMS + OSM), Europe's nighttime lights in monochrome gold, and center-pivot irrigation detection from 23-band Wyvern imagery.
[VISUAL: Day 28 monochrome-gold nighttime lights, or Day 15 wildfire damage map.]

3D & surfaces. Edinburgh Castle from 50cm LiDAR, Lake Balaton bathymetry in 2D and 3D, a 3D population globe, the Moon's surface from NASA's lunar DEM, and England's deprivation as extruded H3 hexagons.
[VISUAL: Day 18 3D Moon surface or Day 16 Edinburgh Castle LiDAR terrain.]

Networks & graphs. The full Amazon basin reconstructed as a connected river graph, a witty "all Romes lead to Roads" routing map, and a flavor-similarity network of 300 ingredients.
[VISUAL: Day 22 glowing Amazon river graph.]

Creative, experimental & personal. A year of personal car trips as glowing route lines, physical string-art of Budapest planned in Python, ASCII-art population density, a 10-minute speed-map, and Italy's glowing coastlines.
[VISUAL: Day 9 string-art map or Day 4 personal travel paths.]

GeoAI preview. Building classification with Google AlphaEarth's 64-band data — a direct on-ramp to the full GeoAI course.

WHO THIS IS FOR

  • You want to actually learn the Python geospatial stack by building real things, not reading documentation. Thirty projects give you 30 reasons to use every core library.

  • You followed the #30DayMapChallenge on YouTube and want the source code, the data, and the behind-the-scenes reasoning that the free videos don't include.

  • You're a data scientist or analyst curious about maps and want a fast, broad, hands-on tour of what's possible.

  • You work with spatial data already and want a reference library of ready-to-adapt pipelines — isochrones, raster animation, 3D terrain, network routing — you can lift into your own work.

  • You learn by doing and like variety: a new dataset, a new technique, and a finished artifact every single project.

WHAT YOU'LL LEARN

By the end of this course you can:

  • Work fluently across the core Python geospatial stack — GeoPandas, Folium, Plotly, PyDeck, Rasterio, osmnx, Pandana, and more — and know when to reach for each.

  • Query and visualize OpenStreetMap data (POIs, roads, buildings) for any city.

  • Build accessibility and walkability analyses from GTFS and road networks, including isochrones and 15-minute-city measures you can run on any city.

  • Load, harmonize, and animate raster time-series — population, cloud cover, nighttime lights — into narrative time-lapses.

  • Build 3D terrain and surface models from LiDAR, bathymetry, and DEMs, and extruded 3D hex maps with PyDeck.

  • Run a real end-to-end satellite analysis pipeline: acquire imagery, process bands, and detect features (wildfire damage, irrigation circles).

  • Think in graphs for spatial problems — river basins, routing, similarity networks.

  • Reproduce a professional map aesthetic: glow effects, custom palettes, projections, and clean cartographic styling.

  • Take a first concrete step into GeoAI with a multispectral building-classification model.

COURSE STRUCTURE

1. Getting Started — Orientation, the behind-the-scenes of planning 30 maps in 30 days, and a setup walkthrough that gets all the notebooks running out of the box (use the conda command in Setup.ipynb to pin the right numpy version across every library).

2. Vector Foundations — Five projects on POIs, road networks, habitat polygons, landmark cutouts, and projection.

3. Urban Analytics & Accessibility — Four cities, isochrones, urban form, and walkability from GTFS and OSM.

4. Time, Change & Animation — Manhattan's growth, Dubai's expansion, and a projection to 2125.

5. Raster, Satellite & Remote Sensing — Cloud patterns, wildfire detection, nighttime lights, and multispectral irrigation mapping.

6. 3D & Surfaces — LiDAR, bathymetry, DEMs, and extruded hex maps — a zoom-out arc from a castle to the Moon.

7. Networks & Graphs — River basins, routing, and similarity networks.

8. Creative, Experimental & Personal — String art, ASCII maps, personal mobility, speed-mapping, and neon coastlines.

9. GeoAI Preview — Building classification with Google AlphaEarth, leading into the full GeoAI course.

10. Tools & Data — A permanent reference: every dataset used, where to get it, and a structured tour of the full Python geospatial stack.

WHAT'S INCLUDED

  • 🎬 ~8 hours of video across 40 lessons on the New Science of Maps platform

  • 📓 30 executed, self-contained project notebooks (Days 1–30)

  • 🗂️ Ready-to-run data samples for every project

  • 🧰 A permanent Tools & Data reference section

  • ♾️ Lifetime access, including future updates

PREREQUISITES / WHO IT'S NOT FOR

You'll want: basic Python comfort and willingness to run notebooks. No prior geospatial or GIS experience is needed — the sections build up the stack as you go, and setup is handled in the first section.

This isn't for you if: you've never written any code, or you want a single deep theoretical treatment of one method. This is broad and project-driven by design — 30 different builds, not one long derivation. (For the deep, from-scratch deep-learning track, the Fundamentals of GeoAI course is the better fit.)

INSTRUCTOR

Taught by Milan Janosov — geospatial data scientist, network scientist (PhD), and the person behind the 2025 #30DayMapChallenge. You build alongside a working scientist, with the real reasoning and the honest behind-the-scenes included.

Previous
Previous

Urban Analytics with Python: Advanced Methods

Next
Next

Network Science & Visualization