Sources · Methods · Architecture

Showing the Ring.

Every claim should be traceable to a dataset, a version, a refresh, and an honest statement of what it cannot tell us.

Inspect the source registry
01 · Inclusion method

Two routes.
Never one count.

A

Smithsonian PROF membership

Versioned records reproduce the published GVP definition: 688 Holocene volcanoes in 41 regions for the pinned 5.3.6 fixture. A changed version triggers explicit review.

B

Editorial Pacific journey

Six chapters begin in New Zealand and move clockwise. This sequence has no scientific start or end and can include contextual cases, such as Indonesia, without changing the GVP count.

02 · Dataset registry

Freshness is part of the fact.

Successful ingestions replace staging data atomically. A malformed refresh leaves the last known-good publication active.

Committed fallback registry
DatasetVersionLast good runCadenceLicense
Smithsonian Global Volcanism ProgramSmithsonian Institution5.3.6 pinned membership fixturePublished May 26, 2026 · 00:00 UTCJul 15, 2026 · 00:00 UTCReview: approvedWeeklyGVP data use termsSource
USGS Earthquake CatalogU.S. Geological SurveyGeoJSON/FDSNJul 15, 2026 · 00:00 UTC5 min + daily reconciliationU.S. government public domainSource
USGS Plate BoundariesU.S. Geological SurveyArcGIS MapServer layer 1Jul 15, 2026 · 00:00 UTCMonthlyU.S. government public domainSource
NOAA/WDS Global Historical Tsunami DatabaseNOAA/NCEIevent exportJul 15, 2026 · 00:00 UTCMonthlyNOAA data access termsSource

Demonstration fixture. Live source freshness is unavailable.

03 · System architecture

One store.
Two ways to read it.

The cinematic map and four analytical workspaces serve different jobs. Every view resolves to the same provenance-aware PostGIS data.

04 · Public interface

Small, bounded, legible.

Map endpoints emit RFC 7946 GeoJSON. Invalid bounds and filters return application/problem+json; pagination and limits protect the public service.

  1. GET /api/v1/atlas/volcanoes
  2. GET /api/v1/atlas/earthquakes
  3. GET /api/v1/atlas/boundaries
  4. GET /api/v1/atlas/tsunamis
  5. GET /api/v1/volcanoes/{volcanoNumber}
  6. GET /api/v1/search?q=…
  7. GET /api/v1/sources/status
  8. GET /api/v1/metabase/resources/{resourceKey}
  9. POST /api/v1/metabase/guest-token
05 · Known gaps

Absence is not zero.

Older eruption and tsunami records are less complete. Missing VEI, impact totals, or day precision stays null. Nearby boundaries are derived spatial context, never causal attribution. Recent earthquake feeds are revised and may include deletions.

Historical trends
Default to 1960 onward; users can expand the range with the coverage caveat visible.
Dates
Year, month, and day are independently nullable. A BCE or year-only record is not assigned a fictional date.
Risk
No prediction, risk score, exposure model, or emergency guidance is produced.

Metabase layer

Four workspaces. One read-only boundary.

05
analytical views
16
saved questions
04
guest dashboards
01
SELECT-only role

The implementation keeps the embedding secret server-side, resolves stable resource keys at the moment each workspace approaches the viewport, and signs only dashboards present in the database allow-list.

  1. Expose five bounded views to metabase_reader.
  2. Reconcile 16 questions, four dashboards, and native filters.
  3. Resolve a stable key to the current numeric dashboard ID.
  4. Load the guest component lazily and renew its JWT before expiry.
A short preview moving from the Pacific journey to the Japan chapter, Fuji atlas search, Metabase charts, and the live source registry.The Restless Pacific opening map and the headline A ring that isn’t a ring.
12-second project previewJourney → atlas → evidence → provenance.

The static opening frame replaces this loop when reduced motion is requested.

Read the five-minute narration script