How I automated social media for a small business
Northwind scheduling posts from a content calendar — write once, ship to 4 platforms.
By Awadesh Madhogaria · Published Sep 10, 2025
Northwind is not a media company, but it still needed to show up online. The problem was never writing the posts — it was remembering to publish them, on the right platform, at the right time.
Posting manually meant living inside an unspoken checklist: remember the post exists, open four different apps, reformat the same text for each one’s quirks, and hit publish at roughly the right time. The failure mode was always the same — posts went out late, or in a batch on a Friday, or not at all. Consistency is most of what social media rewards, and consistency is exactly what a busy week destroys.
Social media is a textbook automation target: predictable, repetitive, and easy to forget. So I turned four platforms and a publishing schedule into a single spreadsheet, separating the thinking (what to say) from the doing (publishing it). Writing should happen when I have ideas; publishing should happen on a schedule, with no human involved.
How it works
The whole system is one Sheet and one script. The Sheet has a single Posts
tab with five columns — title, body, platforms, scheduledAt, posted —
and that is the entire interface. One row is one piece of content, and the
platforms cell decides where it goes. I write posts whenever inspiration
strikes and set a date; the script handles the rest:
- A trigger runs the script every 10 minutes.
- It finds rows where
scheduledAt <= nowandpostedis empty. - For each row, it loops through the listed platforms.
- It formats the text for each platform and posts it.
- It writes the time into
postedso the row is never sent twice.
The posted column doubles as a log — at a glance I can see what shipped and
when. If you want the publishing side in detail, I walk through
scheduling posts to social media APIs
separately.
What broke, and what I left out
The one thing that bit me was formatting. Each platform’s API has different
limits, and a post that fit comfortably on one got rejected by another for being
too long. I added a truncate(text, platform) helper that trims per platform, so
I can write naturally and let the script worry about character counts.
I also deliberately left something out: I don’t track engagement per platform. Native analytics tools are fine for that, and building a cross-platform dashboard would have doubled the project for data I can already see in each app. The script’s job is publishing, not measurement.
The payoff
The result is quiet but real. Posts go out on schedule whether or not I remember they exist, writing once and shipping to four platforms removes the reformatting tax, and the content calendar is visible, editable, and obvious to anyone on the team.
Social media did not need a smarter strategy at Northwind — it needed reliable execution. Move the schedule into a spreadsheet, and consistency stops depending on a good week.