timescale.info
Sign inSign up

How OpenChronology was built

Every merged pull request of openchronology/timeline-app, its first week of commits and its releases; and before them the 2020 PureScript editor, from snapshots of its deleted repositories in the Wayback Machine. Written to this server through the HTTP API.

327 moments · 2020-03-09T00:15:08Z CE – 2026-11-02T20:11:21Z CE · by @athan · @athan

#247 · Add eight vertical shorts, narrate with Kokoro, timescale.info on every end card

  • timeline-app
  • pull request

Stacked on #246: merge #244 and #245, then #246, then this one. When #246 merges and its branch is deleted, GitHub retargets this PR to `main`; otherwise, change the base by hand. ## Shorts - `publicity/shorts/` holds the plan (`0-shorts-audiences-and-series.md`: what the feeds demand, who would watch, the frame, the guardrails) and eight scripts. Each has its narration, its claims with sources, and posting notes: title, caption, hashtags, cover and pinned comment. - They render from `publicity/video/s01-…` to `s08-…`. Each is 9:16, 25–38 s long, with burned-in word captions. - New pipeline pieces: - `"format": "vertical"` in `video.json`: a 1080×1920 page, a `SAFE` area clear of the platforms' overlays, and `phoneShot`, `shortHeadline`, `shortCaption`, `shortEnd` and `renderShort` in `core.js`. - Gap-free caption cues in `captions.py` (the SRT output is unchanged). - A web-font check with reload in `render.mjs`. ## Narration: Piper → Kokoro - `narrate.py` now uses Kokoro 82M with the `af_heart` voice, still offline in `python:3.12-slim`, with weights cached in `common/tts/` (git-ignored). - A `say` respelling can give exact phonemes as `[word](/phonemes/)`. Piper-style respellings ("DAY-a-gol") are removed where Kokoro already says the word right. - All 19 videos are re-narrated and re-aligned. I compared Whisper transcripts with the scripts, and every render has no missing cues. ## End cards - Every explainer and short ends with `https://timescale.info` above `github.com/openchronology/timeline-app`, using a new `addresses()` helper. - `timescale.info` doesn't resolve yet, so the `[CONFIRM]` notes stay. `npm test`: 301/301.

Sources

Open #247 · Add eight vertical shorts, narrate with Kokoro, timescale.info on every end card in the timeline