Skip to content
Earthquake Pulse Map: A Century of Seismic Activity on a WebGL Globe

Earthquake Pulse Map: A Century of Seismic Activity on a WebGL Globe

A Three.js globe plotting 120+ years of major earthquakes with custom GLSL shaders, binary-packed data, and live USGS feeds. Spin, zoom, and scrub through time. The tectonic boundaries light up whether you're ready or not.

Details

Published

What it is

The Earth is restless, and it has receipts. Khadichabegim Naymanova's Earthquake Pulse Map plots over a century of major seismic events onto a spinning WebGL globe. Toggle between a historical dataset covering M6+ quakes from 1900 to 2026 and a live-ish feed pulling the last seven days of activity from the USGS 2.5_week endpoint. The effect is equal parts educational and unsettling. You already knew tectonic boundaries existed. Seeing them light up in sequence makes it feel personal.

Under the hood, this is Three.js and @react-three/fiber doing what they do best: making data feel spatial. Historical records are preprocessed into compact binary assets, loaded at runtime as Float32Array buffers, and shipped straight to the GPU. No JSON bloat, no parsing overhead. Earthquake points get their color from custom GLSL shaders using depth-based mapping and nonlinear scaling, so a shallow 30km quake reads differently from something rumbling at 600km. Timeline playback filters by time window on the client side, which means smooth animation without round-tripping for data. The project takes clear inspiration from Esri's "120 Years of Earthquakes" animation but trades the cinematic flythrough for full interactive control: rotate, zoom, scrub, poke around.

Naymanova built this as something you explore rather than watch. Spin the globe. Zoom into the Ring of Fire. Drag the timeline slider and watch a century of seismic activity ripple across the surface. The source is on GitHub if you want to dig into the shader work or the binary data pipeline. Data courtesy of the USGS Earthquake Catalog.

How it’s made

Technology
GLSL
Technique
Shaders
Interaction
Drag Interaction