Work in progress: this page is under construction · noindex · access code required.
← Back to portfolio

Case study · in progress

Habiterra — Blue marble, the habitat of life

A calm, scientifically grounded 3D Earth explorer — in the browser and in VR — with real climate, ocean and live-traffic layers, plus a deep-time mode back to Pangaea.

three.js WebXR / VR WebGL / GLSL PWA Data-Viz
Habiterra — Blue marble, the habitat of life
Role
Solo — concept, design, engineering, deployment
Stack
three.js · WebXR · WebGL/GLSL · PWA · live science APIs
Timeline
Ongoing, part-time
Year
2026
Status
In progress (private preview, password-gated)

A calm, scientifically grounded 3D explorer of the living Earth — the same product in the browser and in VR — layering real climate, ocean and live-traffic data over an astronomically correct globe, with a deep-time mode that winds the continents back to Pangaea.

The challenge

Build an Earth explorer that feels like a calm planetary observatory — not an overloaded GIS dashboard — and make the same product work both in the browser and in VR on a Meta Quest. It has to be astronomically correct, layer genuinely scientific data (climate, ocean, live ships/aircraft/satellites), and stay legible while doing it. Guiding rule: Earth first — the globe is always the main object, panels are tools, never the centre.

The approach

  • Astronomically correct core (three.js). Sun–Earth–Moon with real ephemerides — 23.44° axial tilt, eccentric orbit, sidereal rotation, a Meeus lunar model — and NASA Blue Marble monthly textures so the surface changes with the seasons (snow in winter, vegetation in summer), with topography and ocean bathymetry.
  • A living surface. Day/night terminator with a dusk band and city lights, animated ocean waves and sun-glitter, and an exaggerated tidal envelope with two bulges that track the Moon and Sun (spring/neap tides from the elongation).
  • Real weather & circulation. A GPU particle wind field of the global circulation (trade winds, westerlies, migrating ITCZ, reversing monsoon) on a wind-speed colour scale; classic blue-water sailing routes that light up only in their favourable season. Live winds from Open-Meteo with pressure markers and meteorological wind barbs.
  • Live layers, all on one time slider. Real ships (AIS via aisstream.io), aircraft (ADS-B via OpenSky), satellites & the ISS (TLE/SGP4 via CelesTrak) — thousands of stylised, instanced markers with detail only on focus.
  • "Satellite zoom." On zoom, the view streams Sentinel-2 cloudless tiles (to ~40 m/px) blended with the day/night lighting — far beyond 8k near-view at minimal memory, and it holds up in VR.
  • VR done right (WebXR, Quest 3). No wrist-locked menus: a deliberately summonable, grabbable, pinnable floating panel system with both hand and controller interaction — a quiet observatory, not a cockpit.
  • Explorer Mode. A separate workspace over the same layers: free-axis globe rotation, full-text search (countries, mountains, rivers, tectonic plates) and a GPlates-driven plate-tectonics timeline that reconstructs the Earth from Pangaea to today, with paleo points of interest.
  • Shipped as a product. Installable PWA (manifest + service worker) on the path to the Meta Horizon store.

The result

  • One coherent product across browser and VR, with five areas — Time, Earth, Ocean, Traffic, Climate — and a strict "one focus layer at a time" rule that keeps it readable.
  • Genuinely live scientific data (NASA, NOAA/NSIDC, CelesTrak, Open-Meteo, OpenSky, AIS) folded into a single calm interface.
  • The same information architecture in both modes; performant enough to render thousands of live entities via instanced markers.
  • Localised into 10 languages (including right-to-left Arabic), on the path to the paid Meta Horizon store.

What this demonstrates

  • Real depth across 3D graphics (custom shaders), real-time data integration (many live APIs) and WebXR/VR — end to end.
  • Turning a huge feature space into a calm, legible product through disciplined information architecture.
  • Full ownership: concept, design, engineering, performance, deployment.
  • Modern, AI-assisted delivery that turns an ambitious brief into working software quickly — human-steered and curated.

Tech at a glance

three.js · WebXR (Meta Quest 3) · WebGL / GLSL · PWA · satellite.js (SGP4) · NASA Blue Marble / GIBS · GPlates · Open-Meteo · OpenSky (ADS-B) · AIS · Sentinel-2 cloudless (EOX)