What a scheduled post actually is
Strip away the software and a scheduled post is just information. Mine is stored as a short entry in a file, one per post:
That's the whole thing. A batch of these entries sits in a folder, and I read and approve the batch before it's scheduled.
The part that does the work
A small program runs every hour. It looks through the folder and asks one question for each post: has its time arrived? If yes, it sends the image and caption to Pinterest, Facebook or Instagram through their official connections. If no, it leaves it alone.
When a post goes out, the program writes it down as posted. Next hour, it sees that note and skips it. That's why nothing goes out twice.
The program runs on GitHub, which is free for what I'm doing. There's no server to keep on and no laptop that has to stay open.
What it costs, honestly
- No scheduling-tool subscription. That's the part I like best.
- GitHub's free tier runs the hourly check.
- The AI assistant is a paid plan. I use Claude to draft content and to build and fix the program.
- Your time. It took real setup, and it broke a few times along the way.
It's not free in the sense of zero effort. It's free in the sense that there's no monthly bill for a posting app.
Why I didn't just use a scheduler
Meta and Pinterest both have scheduling built in, and plenty of paid tools exist. I wanted something different: one queue that feeds Pinterest, Facebook, Instagram and Stories together, that I can fill weeks ahead, and that keeps a record of exactly what went out. Before this, my Pinterest posting ran on a free automation plan capped at 2 active workflows and 1,000 operations a month. That ceiling was the real constraint, so I built my own.
Where it falls short
It doesn't write good content. I still decide what to say and approve every post. It doesn't reply to comments or join groups. And when something breaks, there's no support line. I fix it myself, or with Claude. I wrote about the four things that broke here.
If you're going to build something like this, start with one platform and one week of content. Get a single post out by itself before you schedule fifty.