← All tools

Toolkit · Interpretation

Timeline

A dual-axis timeline putting one life against world history.

Screenshot of Timeline

The problem

Dates mean nothing without context. “1901” is inert; “1901, the year Marconi sent a signal across the Atlantic” is a story. Most timeline plugins give you one track and a lot of JavaScript.

How it works

Two axes — your subject's life along the top, world and national events beneath — with a density weighting so the timeline stays readable at any zoom. Two files, no dependencies, no build step.

Worth knowing

It bootstraps itself: the script finds its own URL and loads its data file from the same folder, so the entire embed is one tag. The data is wrapped as a one-line JavaScript file rather than raw JSON specifically so the whole thing works when opened directly from disk — useful for a curator reviewing content without a web server.

One content rule worth adopting: wars are entered as two points, a beginning and an end, not as spans. Spans imply a continuity that a timeline can't honestly represent.

Using it at your organization

  • Replace the data file with your own dated events, or point it at a JSON URL.
  • Set the visible window and density weighting in the embed code.
  • Only the content is subject-specific; the widget knows nothing about Roosevelt.

Stack: Vanilla JavaScript · shadow DOM · zero dependencies
Licence: MIT — use, modify and redistribute freely, commercially or not.
Hosting: static files; no server required.

Related tools

Built for the Theodore Roosevelt Presidential Library and released for anyone to use. See all 19 tools, or read how the whole system is built.