Skip to main content
back to projects

Content Scheduling & Posting Pipeline

2026-06-25

Drop a video or carousel in a Drive folder and it gets understood, captioned for each platform, scheduled in Notion, and posted, with one approval step.

pythonmodalwhisperclaude visionnotion apidrive api
View on GitHub

Problem

Posting consistently across platforms is a daily tax. Making the content is the easy part. Shipping it every single day is what breaks: writing a different caption for each network, finding the right hashtags, picking times, and fighting each platform's upload quirks. It is hours a week, and it is the first thing to slip when you get busy.

Approach

I drop a finished piece of content, a short video, a carousel, or a single image, into one Google Drive folder. A cloud job checks that folder twice a day for anything new. When it finds a piece, it understands it first: it transcribes videos with Whisper to pull out the topic, and reads carousels and images directly with Claude Vision. Then it does a quick live web search for current trending hashtags and platform best practices, and writes a separate caption for each platform in its own voice: a hook-led Instagram caption with hashtags and a first-comment CTA, a professional LinkedIn post, an SEO title and description for YouTube, and a conversational Facebook version. Everything lands in a Notion content calendar, one entry per platform, auto-assigned to the next open posting slot across the week. I review and approve there, the only human step, and a second cloud job publishes each piece when it is due, marks it posted, and retries cleanly if a platform hiccups.

Drive folderdrop your contentCronchecks twice a dayUnderstand & writeWhisper · Vision · per-platformNotion calendarauto-slot · you approveAuto-postInstagram · LinkedIn · YouTube · Facebookcontent inpostedthe only human step

Result

Posting across four platforms stopped being a daily job. Content goes from a folder drop to scheduled posts with captions written for each network, and my only involvement is a quick approval in Notion. The captions are actually platform-appropriate instead of one message copy-pasted everywhere, and because each piece moves through its own states as it goes, nothing is ever posted twice.

What I'd do differently

Give the approval view a quick inline preview of every generated caption so editing is faster, and put all the platform posters behind one shared adapter so adding a network like TikTok or Threads is a small change rather than a whole new integration.