Toolkit · Interpretation
Timeline
A dual-axis timeline putting one life against world history.
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.


