Back

WhoRuled

2026

Role

Creator and maintainer: design, frontend, data pipeline

Overview

WhoRuled is a static, source-first history site.

Dragging the year slider redraws borders on a Canvas 2D map, and the look of the page changes with the era.

Clicking a state shows its rulers, government and events, each linked to a source.

Static pages such as 'Who ruled France in 1960?' make the data searchable.

There is no backend, no accounts and no cookies unless ads are switched on.

Responsibilities

  1. Built the site with Astro and a single React island that renders the map with Canvas 2D and d3-geo, in strict TypeScript.
  2. Designed a data pipeline that turns historical border GeoJSON into one simplified TopoJSON file per snapshot year, about 7 MB in total.
  3. Modelled facts as one JSON file per state, keyed by Wikidata ID, with a zod schema that rejects any ruler, office or event without a source URL and quote.
  4. Generated static pages for each year and state so the content is indexable without a server.
  5. Covered the app with Vitest unit tests, a Playwright smoke test, ESLint and CI, and deployed it to Cloudflare Workers static assets.
  6. Kept geometry, facts and code in separate folders so each keeps its own licence.