I am a sales enablement leader who also runs six web apps, has written seventeen books, and maintains a content presence across nine platforms. None of that is compatible with a full-time job unless something automates.
Eight months ago, I spent two weeks building an autonomous content pipeline. It runs off a Supabase project, a Python publisher process running locally, and a structured queue table called marketing_queue. Here is what the actual stack looks like, what I built it to do, and what broke.
The core of the system is a Postgres table called marketing_queue with columns for platform, content body, status, week_of, and source. Content gets inserted with status ready. A validation trigger rejects anything under 200 characters or containing metadata prefixes in the body field. A local Python process called Clawbot polls the queue for items with status ready_to_publish or approved, then drives publication to each platform via their respective APIs. The process runs on my local machine rather than in the cloud.
A scheduled task generates a full week of platform-specific content from a single story seed every Sunday evening: five LinkedIn posts, two to three Pinterest pins, a Mastodon post, a Substack essay, a Medium article, a Dev.to piece, an IndieHackers update, a Quora answer, and an SEO blog post. Each piece goes through a content validation function before insertion. If it fails, too short, wrong format, metadata in the body, it gets rewritten until it passes. Total platforms: nine. Total accounts touched: around forty.
My arthritis flared badly in March. Typing was difficult for three days. The system kept running. Published on schedule. Nothing required my input. That was the design goal and it worked.
The local process is the weak point. Clawbot runs on my machine, which means if my machine is off, the queue backs up. I have been thinking about moving it to a Cloudflare Worker or a simple Vercel cron but have not made that move yet. The current setup is reliable enough for my schedule but it is not production-grade. The validation trigger has saved me from inserting broken content more times than I would like to admit. If you are building something similar, write the content rules into the database layer, not just the application layer. The database will catch things the application misses.
The six apps I run each have their own Supabase projects with separate schemas. The content pipeline lives in the ARL project and does not talk to the app databases yet. Eventually I want the content system to pull live metrics from the app databases and factor those into which apps get promoted in the weekly batch. If you are building a solo content infrastructure and want to see any specific part of the architecture in more detail, drop a comment.
Top comments (0)