My content machine almost posted at 2 AM — and the fix taught me more than any tool this week.
Three weeks into the 90-day build, the most interesting thing I shipped wasn't content. It was the machine that publishes it — and the bug that almost broke it.
Two weeks ago I wired a Notion calendar to an automation that posts to X daily and LinkedIn three times a week. Clean architecture: a queue, two gates, a mirror to Bluesky. The first green run felt like magic: a thread assembled, posted, and mirrored itself while I watched.
Then I checked the timezone. Somewhere in a rebuild, the workflow had silently reset from America/Vancouver to UTC. My "9 AM" posts were scheduled for 2 AM. If I hadn't reviewed the configuration, my audience would have woken up to a very quiet thread at 2 AM — and I would have learned about it from the numbers, not from the machine.
The lesson wasn't about timezones. It was that automation doesn't remove review; it moves it. The machine handles the assembly line. I still own the quality gate — one Sunday pass over next week's line-up, 20 minutes, then the week runs itself.
What shipped this week: one 6-tweet thread live on X and mirrored to Bluesky; 20 content rows queued across two weeks; a Sunday review reminder so nothing ships unreviewed; and a queue that refills itself every Sunday morning.
Tools I leaned on: n8n (the orchestrator), Notion (the queue), the X API and Bluesky's app password (the senders), and a cron — the most underrated tool in the stack.
Next week: the first full teardown — exactly how one pipeline assembles this newsletter, end to end, with the numbers.