Interactive spatial intelligence dashboard visualizing the 1994 Genocide against the Tutsi in Rwanda. 100-day timeline, sigmoid distribution model, 16 memorial sites with survivor testimony.
# KWIBUKA // Spatial map
> *"Kwibuka" means "to remember" in Kinyarwanda.*
An interactive spatial intelligence dashboard visualizing the 1994 Genocide against the Tutsi in Rwanda. The application renders 40+ geolocated historical events and 16 memorial sites with survivor testimony across a 100-day interactive timeline, reaching 1,000,000 estimated lives lost using a sigmoid growth curve.
## Quick Start
```bash
npm install
npm run dev
```
Open
localhost.
## Features
**100-Day Timeline** — Drag the scrubber or hit play at 1x/2x/4x/8x speed. The map populates dynamically as the genocide spreads geographically from Kigali outward across all five provinces.
**Sigmoid Distribution Model** — A logistic curve with inflection at day 30 models the cumulative toll, with per-province onset offsets (Kigali day 0, Eastern day 3, Northern day 4, Western day 9, Southern day 13) matching the historical record.
**16 Memorial Sites with Testimony** — Diamond markers distinguish memorial sites from event markers. Click any memorial for a tabbed intelligence card with:
- **Overview** — Site description, establishment date, UNESCO/National/Regional badge
- **Testimony** — Representative survivor accounts grounded in documented archives
- **Resources** — Direct links to Genocide Archive Rwanda, UNESCO, Aegis Trust, Google Arts & Culture
**4 Display Modes** — STD (standard dark), NVG (phosphor green + scanlines), CRT (amber monochrome + flicker), FLIR (thermal red + vignette). Each mode recolors markers, labels, heatmap gradients, and stat values.
**Real Topology** — Country geometry loaded from Natural Earth via world-atlas (50m resolution). Rwanda, neighboring countries (DRC, Uganda, Tanzania, Burundi), Lake Kivu, and 17 city markers from the reference map.
## Architecture
```
├── CLAUDE.md # Claude Code project instructions
├── index.html # Entry point
├── package.json
├── vite.config.js
├── data/
│ ├── events.json # 40 histori …