maptheclouds.bsky.social
@maptheclouds.bsky.social
Feb 9 → May 19, 2026.

100 consecutive days of building in public: GIS, 3D maps, WebGL, client work, experiments, shaders, and spatial storytelling.

maptheclouds.com/100-day-map-challenge/stats/

Big thanks! 🚀

#100DayMapChallenge #GIS #WebGL #ThreeJS #3DMaps
May 20, 2026 at 5:01 PM
Day 100. Silent Moon 🌘

Browser scene for Artemis II: orbital trajectory readable in motion, scroll narrative, Moon/Earth/Orion camera locks, atmosphere for dark-space legibility. React, Three.js, R3F, Drei.

100 days complete. The work continues. 🚀

#100DayMapChallenge #3DMaps #Artemis #Geospatial
May 19, 2026 at 5:06 PM
A personal note before Day 100 🗺️

Open-source pushed me into programming and browser-native maps. 🎮

Next chapter: projects that help people. Mountains and shared time offline still matter. ⛰️

Seven platforms daily - exhausting.Thank you for following along. ❤️

#100DayMapChallenge #Maps #OpenSource
May 19, 2026 at 12:01 PM
Day 99. Campaign Reflection 🎉

Not every post was a map. 99/100 days, toolchain from QGIS to React 19 with AI in Cursor. Discipline beats inspiration, shipping beats perfecting, AI in the workflow not at the wheel.

Day 100 arrives tomorrow.

#100DayMapChallenge #3DMaps #Animation #Geospatial
May 18, 2026 at 5:03 PM
Week 14 Reflection

Hong Kong shaders, Cluj walks, LEGO towers, balloons, Blender Earth (offline globe behind several later web projects, Inner Fire included). Inner Fire: my first AI-assisted build with ChatGPT, Gemini, Claude. Week 15 begins today.

#100DayMapChallenge #ThreeJS #Maps #AI
May 18, 2026 at 12:02 PM
Day 98. The Earth in Blender 🌍

Sometimes the most useful maps work is careful modeling, materials, and light, not another live dataset. The question that followed was simple: what if it were interactive, not static?

maptheclouds.com/playground/d...

#100DayMapChallenge Day 98/100
#Blender #3DMaps
May 17, 2026 at 4:03 PM
Day 97. Hot air balloons everywhere! 🪂

Late-campaign, I wanted something lighter: Hot air balloon glTF over a dense 3D city in Mapbox GL JS, rendered with a custom Three.js layer on the same WebGL canvas.

maptheclouds.com/playground/b...

#100DayMapChallenge Day 97/100

#ThreeJS #WebGL #MapboxGL
May 16, 2026 at 4:04 PM
Day 96. Inner Fire 🔥

Inner Fire is my current attempt at treating global seismic activity less like static map data and more like a living planetary pulse unfolding through time.

maptheclouds.com/inner-fire/

#100DayMapChallenge #ThreeJS #WebGL #AI #DataVisualization #Geospatial #React #MapLibre
May 15, 2026 at 5:05 PM
Day 95. In The Clouds 🏢

Supertall architecture reimagined as stacked, brick-like landmarks on an interactive map.

MapLibre GL JS, custom Three.js/WebGL rendering, GSAP transitions, and CSV/GeoJSON-driven comparisons.

#100DayMapChallenge Day 96/100

🔗 maptheclouds.com/intheclouds/
May 14, 2026 at 5:07 PM
Day 94. Cluj County forests, România 🌳💚

Sometimes the most satisfying maps are the closest to home.

QGIS preprocessing + Three.js/WebGL rendering, with swipe interaction to build relief as you explore.

maptheclouds.com/playground/3...

#100DayMapChallenge Day 94/100 #ThreeJS #WebGL #3DMaps
May 13, 2026 at 5:04 PM
Day 93. Cluj-Napoca 5-minute walk 🚶

Cluj-centered map with right-click generated 5/10/15/20/25/30-minute walking isochrones.

Built in a lightweight Three.js/WebGL setup, with Openrouteservice + Stamen/OSM context.

maptheclouds.com/playground/3...

#100DayMapChallenge Day 93/100

#Leaflet
May 12, 2026 at 5:04 PM
Day 92. Hong Kong Crosshatch 🏙️

Sometimes the right move is not more data, but a different way of seeing it.

Hong Kong through pen-and-ink logic: Tangram JS (WebGL) + Leaflet, shader crosshatching.

maptheclouds.com/playground/3...

#100DayMapChallenge Day 92/100 #TangramJS #Geospatial #3DMaps
May 11, 2026 at 5:06 PM
Week 13 reflection: audio-reactive city motion, walkability, particles, client-scale systems, browser 3D interaction, and Snow Dome Anywhere. The work varied, but the curiosity stayed constant.

Week 14 starts today.

#100DayMapChallenge #Geospatial #GIS #3DMaps #OpenSource
May 11, 2026 at 12:02 PM
Day 91. Snow Dome Anywhere (3D + Particles) ❄️

Dense 3D city view, shifted into a quiet snow-dome version.

Inspired by FOSS4G Bucharest 2019. FOSS4G Europe 2026 is coming: 2026.europe.foss4g.org

maptheclouds.com/playground/b...

#100DayMapChallenge Day 91/100 #ThreeJS #MapboxGL #MaplibreGL#FOSS4G
May 10, 2026 at 5:02 PM
Day 90. Making Lights 🌚🌞

MapLibre over lower Manhattan keeps the OSM extrusions, but they are redrawn in custom WebGL where SunCalc steers the light and dawn or dusk swaps the MapTiler day or dark basemap.

maptheclouds.com/playground/b...

#100DayMapChallenge 90/100

#MapLibre #Geospatial #3DMaps
May 9, 2026 at 4:02 PM
Day 89. World Earthquakes 🌍

Earthquake data treated as visual signal, not just dataset.

Built in the context of the Feb 2023 Turkey/Syria earthquakes, this piece maps the USGS all-month feed on a 3D globe using Three.js/WebGL shaders.

#100DayMapChallenge Day 89/100 #ThreeJS #WebGL #Geospatial
May 8, 2026 at 5:04 PM
Day 88. Environmental Intelligence Platform 🌍

A 9-month client delivery focused on reliable geospatial product engineering: Vue/Nuxt + React map workflows, open-source-first stack with MapLibre + PMTiles + OSM/Nextzen tiles via Cloudflare, GraphQL/PostgreSQL.

#100DayMapChallenge Day 88/100
May 7, 2026 at 5:05 PM
Day 87. Fireflies Globe ✨

A globe that shifts from pure geography to atmosphere.

A 3D portal inside a glass-like sphere, map textures crossfading, and animated shader fireflies in Three.js/WebGL. Inspired by Three.js Journey.

#100DayMapChallenge Day 87/100

🔗 maptheclouds.com/playground/3...
May 6, 2026 at 5:03 PM
Day 86. City Streets 🌆

Some briefs are simple and honest: show the main streets of a city in a way people instantly recognise.

OSM road geometry prepared in QGIS, transformed into a luminous 3D network in Three.js.

maptheclouds.com/playground/t...

#100DayMapChallenge Day 86/100

#ThreeJS #QGIS
May 6, 2026 at 6:51 AM
Day 85. Have You Ever Seen A City Dancing? 😆🎹

This build turns NYC buildings into an audio-reactive map experiment.

Mapbox provides the building layer, then a custom Three.js/WebGL path pushes motion from AudioAnalyser frequency data into shader parameters.

#100DayMapChallenge Day 85/100
May 4, 2026 at 5:06 PM
Week 12 reflection.

Seven projects, from atmospheric WebGL and reef 3D systems to playful city and planetary experiments, then OSM buildings with a lightweight D3 setup.

Not every day is a classic map, and that is intentional.

#100DayMapChallenge #Geospatial #GIS #3D #Maps
May 4, 2026 at 12:01 PM
Day 84. OSM Buildings - tiles with D3 🏢

Built as a lightweight open-data pipeline: D3 for tile logic, OSM Buildings for geometry + heights, and MapLibre for real-time 3D fill-extrusion rendering.
Click to rebuild around a new location, or search via Nominatim.

#100DayMapChallenge Day 84/100
May 3, 2026 at 4:02 PM
Day 83. Cheesy Planets 🧀

Not every 3D experiment needs to be serious.
This one takes a familiar planet setup and pushes it into absurd territory: cheese-textured Earth, stylised moon, star-map background.
Silly by concept, careful in execution.

#100DayMapChallenge Day 83/100
May 2, 2026 at 4:03 PM
Day 82. Lego City 🧱

A playful building visual built with MapLibre + custom Three.js/WebGL rendering.
The colour logic lives in GLSL.

Urban data, toy-like perception.
Foundation step for In The Clouds and its 40m stacked-block system.

#100DayMapChallenge Day 82/100
May 1, 2026 at 5:03 PM
Day 81. 3D Reef Health Visualization 🌊

Long-form client project: from reef survey CSVs + bathymetry model to a deployed 3D spatial interface.
QGIS, MapLibre, Three.js, and 3D Tiles → height tiles + pmtiles pivot, with end-to-end delivery from data prep to hosting.

#100DayMapChallenge Day 81/100
April 30, 2026 at 5:05 PM