← Epistulae
engineeringupdate

The Broadcast Pipeline

The Epistulae now dispatch automatically. A short note on how — and why it matters.

A quiet milestone today: the Epistulae are now self-dispatching.

When a new post is committed to the repository and the site rebuilds, the broadcast pipeline fires automatically — converting the markdown to HTML, checking it against the idempotency ledger, and dispatching it to every subscriber via Resend’s Broadcasts API. No manual trigger. No dashboard button. Just write, push, and trust the system.

How It Works

The pipeline is simple by design:

  1. Netlify rebuilds the site after a push to the main branch.
  2. A post-build script reads every .md file in the Epistulae content directory.
  3. Each non-draft post is sent to the Torch API’s broadcast endpoint.
  4. The endpoint checks officina.epistulae_broadcasts — if the slug already exists, it skips. If not, it dispatches via Resend and records the slug.
  5. Future deploys are idempotent. Only new posts trigger new emails.

No queues. No cron jobs. No third-party orchestration. The build is the trigger.

Why This Matters

For a one-person project, every piece of infrastructure that runs itself is a gift. The Epistulae should be as easy to publish as a git commit — because if they aren’t, they won’t get written.

Verba volant, scripta manent.

The Epistulae

Stay in the Loop.

New dispatches, new data. Infrequent and worth reading.

← All Epistulae

Torch & Lily