Automating Multi‑Platform Content Publishing with a Single Source of Truth
TL;DR: I refactored the content-automation repo to generate Medium, Substack and Bluesky posts from one set of markdown files, committing platform‑specific JSON payloads and syncing a metadata.json flag. The change eliminates manual copy‑paste, guarantees API‑compatible payloads, and lets the daily cron run reliably.
The Problem
Our daily content pipeline pulls raw markdown from content/2026/10/21/content-automation/ and publishes it to three different services:
Platform
Required format
Medium
Markdown file (*.md)
Substack
Markdown file (*.md)
Bluesky
JSON payload (type, text, langs)
Originally each platform had its own copy of the article. When the cron job that triggers the generator failed, we ended up with out‑of‑sync files and, more importantly, invalid Bluesky JSON that the API rejected (payload missing required field "text"). The symptom was a cascade
Discussion
Begin the discussion
Begin something meaningful by sharing your ideas.