Monitor · Data Visualization · Real-Time API · 2026 · Solo build
Quake Pulse
A real-time seismic monitor: live USGS GeoJSON feed projected onto a rotating 3D globe with magnitude/depth classification, event sidebar, and zero server round-trips.
The problem
Seismic monitoring typically requires specialised desktop software or USGS web portals that are functional but dense. Quake Pulse translates the live USGS GeoJSON feed into a minimal Monitor surface: a rotating orthographic SVG globe with magnitude-coded dot markers, depth classification (shallow / intermediate / deep), an event sidebar showing place, time-ago, and depth band, and magnitude/time-window filter controls. All computation happens in the browser. 32 TDD tests covering magnitude classification, depth classification, GeoJSON parsing, filtering, sorting, URL construction, colour/radius mappings, and time formatting were written RED-first before any implementation existed.
Architecture
Key decisions
Hand-rolled spherical projection over D3-geo
D3-geo provides fully featured GIS projections but adds weight and couples the animation loop to its internal state. The spherical-to-Cartesian-to-screen transform is 15 lines of geometry: convert lat/lon to a unit vector, apply a Y-axis rotation matrix, project (x,y,z) to (sx,sy), and visibility-cull by z. This is easy to unit-test and trivially adjustable.
Monitor surface: globe rotation plus event list over a dashboard grid
The Monitor archetype fits seismic data: events are continuous and global, and the goal is situational awareness rather than analysis. A rotating globe gives immediate spatial context visible at a glance. The sidebar keeps the 20 most recent events accessible without breaking the spatial primary.
USGS public GeoJSON over paid seismic APIs
USGS provides real-time M2.5+ GeoJSON feeds at no cost with no API key. The feed URL is parameterised by time window and magnitude threshold, enabling browser-local construction with no backend.