I grew up in Sonora, California โ a Gold Rush town wedged into the western Sierra Nevada foothills of Tuolumne County, where the hills are crumpled and old and full of stories the rocks don't easily give up. The Melones Fault Zone runs right through that country. As a kid, I walked those fault scarps without knowing what they were. I just knew the land felt different there โ broken in some deep, geological way, like the earth was remembering something.
The 1989 Loma Prieta earthquake hit when I was young. Fifteen seconds, M6.9, 63 dead. I remember what it felt like when the ground โ the thing you spend your entire life trusting completely โ decided for a few seconds that it was done being trusted.
AFTERSHOCK is that memory grown up and given a dashboard.
What It Does
Every six hours, a GitHub Actions pipeline wakes up, calls the USGS Earthquake Hazards Program ComCat API, and pulls every measurable shake across the United States and beyond โ M1.5 and up, worldwide. It writes a static JSON file. A dark, cinematic map on ESRI Dark Gray Canvas tiles loads it. Earthquake dots sized and colored by magnitude โ tiny green pinpoints for the microseismicity, climbing through yellow, orange, red, and into deep red and purple as the energy scales up. A magnitude 7 sits on the map like a bruise.
The Filters
Two controls that wire through everything simultaneously โ the map, the state panel, the leaderboard, the recent events list. Time window buttons: 1D, 3D, 7D, 14D, 30D. Magnitude slider: drag from M1.5 up to M6.0. Watch the noise disappear. Watch the significant events remain. The interface responds instantly because all the data is already in the browser โ one JSON file, loaded once.
The Architecture
Same pattern as everything else in this collection. One Python script. One JSON file. Zero databases. Zero servers.
The whole thing is auditable in an afternoon. The automatic update commits read: Seismic update: YYYY-MM-DD HH:MM UTC. When those appear in the commit history, the pipeline is healthy.
The Quiet States
One of the things I like most about the state deep-dives is how they handle quiet states. Click a state with no recent seismic activity and you don't get an error โ you get a message: "Quiet is not nothing โ it may mean the fault is locked." A locked fault accumulates strain. The quieter the fault, sometimes, the more concerning the silence.
"The fault does not forgive. The data never lies."
The Cascadia Subduction Zone โ offshore of Washington, Oregon, and northern California โ hasn't produced a full-margin rupture since January 26, 1700. That's 326 years of locked strain. AFTERSHOCK watches the microseismicity along that margin constantly. The data updates every six hours. The fault moves on its own schedule.
Live at bdgroves.github.io/aftershock. Open source at github.com/bdgroves/aftershock. Built by someone who grew up walking fault scarps without knowing it.