Client
Browser
Desktop and mobile visitors
Technical overviewClient-side generation and static hosting
A keyless toy that composes a grounded geological scene in the browser.
Source code
Inspect the implementation, commit history, and project documentation.
01
One button drops you on a weighted-random moment in Earth's 4.54-billion-year history and composes a short second-person scene for it, entirely in the browser, by sampling a fixed bank of real facts for that interval. It runs static and keyless, so it cannot invent a figure, species, or date. Live at deeptime.pesanth.com.
02
Client
Desktop and mobile visitors
Frontend
index.html: timeline, scene, controls
Generator
Picks an interval by weight or by duration
Generator
Samples the interval's facts, orders sky to life
Timeline data
18 intervals: range, weight, seed scene
Fact data
197 typed facts, the only source of prose
Web server
Static files on a non-root, read-only pod
Kubernetes
Single replica, default-deny network policy
Public ingress
Outbound-only ingress, TLS at the edge
03
The page ships three static files and composes each scene on the device, so there is no model to call, no key on the box, and nothing to rate-limit but bandwidth.
Every sentence is drawn from a fixed fact base and ordered by sense, so the generator cannot produce a figure, species, or date that is not already written down.
An eventful draw favours the charismatic chapters; a true-to-duration draw weights by interval length, so most moments land in the long microbial Precambrian.
If the fact base does not load, each interval still has a hand-written seed scene, and a shared link renders that stable seed so a pinned date never contradicts its prose.
04
$ python -m http.server --directory public
$ GET /intervals.json → 200 · 18 intervals
$ GET /beats.json → 200 · 197 facts
$ draw → interval sampled, scene composed from its facts
✓ every sentence traced to beats.json, none invented05