Astro on Tap

A scheduled analytics-to-media pipeline — a deterministic engine computes, a narrator only phrases, and the result ships daily as text, charts, speech and video in four languages.

The problem. Turning computed data into published media every single day is a small industry of copy-paste: someone reads the numbers, writes the words, records the audio, cuts the video, posts it in three places, and does it again tomorrow. The temptation is to let a model do all of it, which is exactly how figures start being invented.

What runs. The engine computes — astronomical ephemerides to sub-second precision — and the model never touches a number, only the phrasing around it. Voice is synthesised and then verified: an ASR pass diffs the audio against its own source text, and anything the speech invented (or read aloud that was markup) stops the release. Rendering, publishing and distribution run unattended on timers: web, video, and two channels, in four languages, with per-segment delivery. Around 14.5k lines of Python, 600 tests, 70+ releases shipped without a human in the loop.

Designed next. The same pipeline pointed at other time-varying sources — market data, quotes, news feeds. Nothing in the shape is domain-specific: a deterministic model of something that changes, a narrator that may not invent, a gate that checks what shipped, and channels that expect a rhythm.

The transferable part. A media pipeline is honest exactly to the degree that its verification is mechanical. Ours checks arithmetic before phrasing and phrasing before publication — which is why it can run daily without supervision.

← All projects