Skip to content

sean-reid/severed

Repository files navigation

Severed

Interactive submarine cable failure simulator. Cut cables on a globe, watch traffic reroute, see which cities lose bandwidth.

Dark-themed globe with submarine cables rendered as blue lines

What it does

Select a historical scenario or enter Cut Mode to sever cables yourself. The app computes which metros lose connectivity, how much bandwidth disappears, where traffic reroutes, and whether the network absorbs the cut.

Cut Mode: press C or tap the Cut Mode button, then click any cable. The cable splits at the click point with a visible gap. The entire broken cable turns muted red. Undo with Ctrl+Z or the Undo button. Cuts snap precisely to the cable path.

Scenarios: 10 documented real-world events with exact cut locations, historical date filtering, and source links. The simulation uses only cables that existed at the time of each event.

Built on real data: 594 operational cables from TeleGeography (110 with verified capacity from primary sources), 930 metro nodes, 151 hand-researched terrestrial backbone edges, 92 hub metros, and a graph engine that runs in a Web Worker.

Quick start

pnpm install
pnpm dev

Open http://localhost:5173.

Rebuild data from source

The static JSON data files are pre-built in public/data/. To regenerate from TeleGeography's API:

pnpm data:fetch    # ~2 min — downloads 692 cable details with rate limiting
pnpm data:build    # ~1 sec — clusters metros, estimates capacity, writes JSON

Run tests

pnpm test          # 41 integration tests (simulation accuracy for all 10 scenarios)
pnpm test:e2e      # 44 Puppeteer E2E tests across desktop + mobile viewports

Data sources

Data Source License
Cable routes & landing stations TeleGeography Submarine Cable Map CC BY-SA
Cable capacity 110 cables with verified/estimated capacity from press releases and industry sources. Remaining ~484 use an RFS-year heuristic (see build-data.ts). --
Terrestrial backbone edges Hand-curated from industry publications. 127 of 151 edges have source URLs. --
Chokepoint definitions Hand-defined polygons from geographic research --

Every capacity number has a confidence level (verified, estimated, approximated). Click "About" in the app for methodology, or click any cable or terrestrial link on the map to see its specific source.

How the simulation works

  1. Build a weighted graph: metros as nodes, cable segments + terrestrial links as edges weighted by capacity (Tbps)
  2. Compute baseline metrics: each metro's aggregate bandwidth to 92 global hub metros via capacity-weighted bottleneck shortest paths
  3. On cut: remove edges at the cut location, recompute metrics, diff against baseline
  4. BFS from cut segments along each cable's topology to determine which portions are severed
  5. Report per-metro: bandwidth loss %, latency change, path diversity, rerouting paths

Graph engine runs in a Web Worker. Full simulation completes in <200ms.

Visual hierarchy

The map uses a three-layer visual system:

Visual Color Meaning
Cut marker (red dot) Bright red Where the break is
Severed cable Muted red Entire cable is broken
Isolated metro Magenta + large dot Completely offline
Severe loss metro Orange >50% bandwidth lost
Degraded metro Amber >10% bandwidth lost
Active terrestrial Bright cyan Absorbing rerouted traffic

Validation

The simulation is tested against 10 documented real-world cable cut events:

Event Year Key result Sources
Red Sea (Houthi) 2024 3 cables cut (AAE-1, EIG, SEACOM), 25% Asia-Europe traffic disrupted Al Jazeera, Cloudflare
Baltic Sea sabotage 2024 BCS + C-Lion1 cut, high redundancy -- near-zero impact Wikipedia
Mediterranean cuts 2008 SEA-ME-WE 4 + FLAG cut, Egypt -70%, India -60% Wikipedia
Taiwan earthquake 2006 8-22 cable breaks in Luzon Strait, Asia-wide disruption Wikipedia
Tonga eruption 2022 Tonga Cable + TDCE destroyed, 5 weeks isolated Wikipedia
West Africa cuts 2024 WACS + MainOne + SAT-3 + ACE cut, 13 countries impacted Cloudflare
East Africa cuts 2024 EASSy + Seacom cut off Mozambique, compounding Red Sea damage Cloudflare
Egypt landing damage 2022 AAE-1 cut at Abu Talat + SMW-5 cut at Zafarana (two locations) Cloudflare
Japan Tohoku earthquake 2011 6+ cables cut, 22% trans-Pacific capacity lost SubmarineNetworks, Lightwave
Vietnam cable failures 2023 4 international cables degraded, -75% capacity The Register, The Register

Tech stack

React 19, TypeScript, Vite, Deck.gl 9, MapLibre GL, Zustand, Tailwind CSS 4, D3, Vitest, Biome, Puppeteer, pnpm.

CARTO Dark Matter basemap (free, no API key).

Project structure

src/
  components/     UI -- globe, impact panel, sidebar, mobile scenario bar, about panel
  engine/         Graph, pathfinding, simulation (BFS + Dijkstra), Web Worker
  data/           Types, data loader
  state/          Zustand store
  utils/          Geo math, color scales, path projection
scripts/          Data pipeline (fetch TeleGeography, build static JSON)
public/data/      Pre-built static datasets (committed)
e2e/              Puppeteer E2E tests (22 suites, desktop + mobile)

License

MIT

About

Submarine Cable Failure Simulator

Resources

License

Stars

Watchers

Forks

Contributors

Languages