Day 46. Interactive virtual land map 🗺️

Client project: a two-level map for blockchain-based virtual land, from global view to interactive plot grids.

Challenge: defining a coherent spatial system for a fictional world with no real coordinates. Built with QGIS (custom coordinates) and D3.js (SVG + zoom).

Result: a flexible map that brings real spatial logic into virtual land.

Delivered in under three weeks, with a 5-star review.

#100DayMapChallenge Day 46/100
#D3js #QGIS #Cartography

Week 6 reflection. Different registers each day.

From experimental data viz to scientific depth and client work, ending on a more playful note.

Day 36 explored Voronoi logic, Day 37 mapped 50k+ cities, Day 38 visualized Antarctica’s gravity in 3D, and Day 39 marked a high point with UNESCO work.

The final days shifted tone: Corgi Routes, an Africa-centered globe, and river hierarchies shaped by Strahler order.

#100DayMapChallenge #DataVisualization #ThreeJS #D3js #Geospatial

Day 40. Corgi routes 🐶

What if GPS routes could be visualized with animation and terrain like Relive?

Interactive route visualizer built with MapLibre GL and D3.js. Drag-and-drop GPX → animated playback over terrain, with an elevation chart synced to the map.

Click the chart to jump anywhere along the route. Both views stay aligned.

Still experimental, but shows what’s possible when flexible route data meets modern mapping tools.

#100DayMapChallenge Day 40/100

#MapLibreGL #D3js #GPX #OSM

Day 39. Education inequality at global scale 🌍

How do you compare gender disparities across education worldwide?

Interactive animated choropleth showing the Gender Parity Index across five levels (primary to tertiary), built with Leaflet.js and D3.js. Client project.

Key challenge: consistent color scale across all levels, solved with Jenks Natural Breaks on the combined dataset.

Insight: as girls progress through education, the gender gap often widens.

#100DayMapChallenge #Leaflet #D3js

Day 37. Populated places by size and rank 🌐

How visualize global settlement patterns without political boundaries dictating story?

Circle size = population, brightness = rank. Removes borders. Settlement structure visible on own terms.

D3.js canvas rendering handles thousands of points. City selection uses quadtree spatial index.

Data: Natural Earth. Quadtree inspired by Alain Roan (Observable).

https://maptheclouds.com/playground/30-day-map-challenge/points/

#100DayMapChallenge #D3js

Day 36. When data visualization meets music history 🎶

This project maps 50 of the most valuable vinyl records using a Voronoi-style visualization where each region represents a record.

The Beatles dominate the list, including Yesterday and Today ($234k) and the famous White Album ($790k).

Built with D3.js, the visualization turns record prices and cultural impact into a spatial landscape of music history.

https://maptheclouds.com/playground/30-day-chart-challenge/comparisons/experimental/

#100DayMapChallenge #D3js #DataViz

Week 5

Five weeks into the challenge, and the rhythm is starting to feel more like exploration than discipline.

Seven projects this week: networks, terrain, seasonal patterns, and timelines.

Highlight: Day 32, a D3.js force-directed chart for the San Francisco District Attorney’s Office, built with Anna Tong, mapping 350+ people using physics-based positioning.

35 days down, 65 remaining.

#100DayMapChallenge #DataVisualization #D3js

Day 34. Historical timelines as a comparison tool 📊

When events unfold at different speeds, how do you compare them without distorting their duration?

This visualization shows the global race for COVID-19 vaccination (April 25, 2021). Each bar represents the share of the population with at least one dose, with colors indicating world regions. Data from ourworldindata and naturalearthdata.

Inspired by Mike Bostock’s Bar Chart Race.

https://maptheclouds.com/playground/30-day-chart-challenge/comparisons/historical/

#100DayMapChallenge #D3js #DataViz

Day 32. Organizational structure as living network 💼

How visualize 300+ person organization when static hierarchies fail?

Interactive force-directed chart for SF District Attorney's Office. My first significant freelancing project, worked with Anna Tong on 350+ people representation.

Each node = department/role/staff. The main challenge was integrating images and text inside the circular DOM nodes while keeping everything readable.

#100DayMapChallenge #D3js #ClientWork

Week 4. Days 22-28 🎯

Two phases: COVID finale (22-25), Exploratory (26-28)

Not all maps-intentional. Campaign ≠ 100 maps. It's about experiments that shaped how I think about spatial data, even when form moves beyond conventional cartographic layout.

Many D3 projects shaped by community: Bostock, Wu, Bremer.
Around same period, began thinking seriously about WebGL. Performance became design question.

Method over topic. Technique follows question.

#100DayMapChallenge #DataViz #D3js