runbookify
← All plans
Marketing Operations / Social Scheduling & Tracking

Social Content Queue & Approval

Build an internal tool where social posts are drafted, checked against your per-channel specs, approved by a manager, and only then scheduled on a visible calendar - so nothing goes out unapproved and you stop approving posts over Slack screenshots.

BeginnerAn afternoonBuilds onNext.js (App Router) on VercelSupabase (Postgres, Storage, Auth + RLS)Resend (approval requests, reminders, due-today digests)
What you'll build

A login-protected social queue: draft or import posts, auto-check each against your per-channel character and asset rules, have a manager approve/edit/reject, then watch them land on a week/month calendar - and export a 'ready to post' CSV by date and channel for your publishing tool, with a full audit trail and a duplicate guard so the same post can't be queued twice.

Gated download

Enter your email — the plan downloads instantly and a copy lands in your inbox.

By submitting your email you'll also receive the weekly runbookify newsletter. You can unsubscribe at any time.

Before you start

  • A free Vercel account
  • A free Supabase account
  • A free Resend account (and a sender address you can use)
  • A drafts CSV or the willingness to draft posts in-app (channel, copy, asset link, link to share, target date)
  • A per-channel spec sheet (character limits, image sizes)

The problem this kills

A social post goes out with the wrong hashtag, a typo in the headline, or an image cropped weird on Instagram - and now you're deleting it in front of 40,000 followers. How did it slip through? Because "approval" in most small teams is a screenshot pasted into Slack, a thumbs-up emoji, and a hope that the person publishing remembers the change someone asked for.

Meanwhile nobody can see the whole calendar at once. Two people queue the same announcement. A post meant for LinkedIn gets the casual TikTok caption. The Tuesday slot is empty and nobody noticed until Tuesday. And when copy is 30 characters over Twitter's limit, you find out when it's already truncated to nonsense.

This tool replaces the screenshot-and-pray workflow with a real queue: every post is drafted, automatically checked against your channel rules, reviewed by a manager who can approve, edit, or reject, and only then moved onto a visible calendar. Nothing reaches "scheduled" without a human saying yes.

What you'll build

A small internal web app, just for your team, that:

  • Lets you draft a post in-app (channel, copy, image/asset link, link to share, target date) or import a batch from a CSV.
  • Runs automatic spec checks against your per-channel rules - character limits, required image sizes - and flags anything out of bounds before a human ever looks at it.
  • Sends each draft to a manager to approve, edit, or reject, with a comment, via Resend.
  • Moves only approved posts from "draft" to "scheduled," and shows them on a week and month calendar so the whole plan is visible at a glance.
  • Dedupes so the same post (same channel + date + copy) can't be queued twice.
  • Exports a "ready to post" CSV by date and channel - or a due-today export - in the exact columns your publishing tool expects.

What's inside the Implementation Plan

The plan is a single markdown file you paste into Claude Code (a free AI coding agent). It walks the agent through building the whole tool, step by step, each step ending with a ready-to-paste prompt.

The most important part: the plan opens by interviewing you about your business. Before it writes a single line, the agent asks which channels you post to and their exact character and image rules, how a post moves from idea to published today, who approves what, the real field names in your drafts, your typical and peak posting volume, and your messy edge cases (threads, carousels, a scheduled post that needs pulling). It reads a short tailored spec back to you, you confirm it, and only then does it build - so you get a queue shaped to your channels and your approval rules, not a generic template.

Inside you'll find:

  • The discovery interview and how the agent turns your answers into the data model and spec checks.
  • The full build: database, login, draft + CSV import with duplicate guards, the per-channel validator, the approval screens, the calendar, and the export.
  • The hard human approval gate so nothing is scheduled without sign-off.
  • Verification steps so you can prove it works, and the CSV-export fallback so it's fully usable today even with no publishing-tool integration.

The governance it includes (this is the point)

This isn't a toy. The plan builds in the controls a real content team needs:

  • Login so only your team can see or touch the queue.
  • Row-level security so people only see your organization's posts and calendar.
  • A complete audit trail - every draft, edit, approval, rejection, schedule, and pull is logged with who and when.
  • A hard human-in-the-loop gate - the AI drafts and spec-checks, but a manager must approve before anything is scheduled; nothing auto-publishes.
  • Duplicate guards so the same post can't be queued twice.

Who it's for

Social and content managers, community managers, and small marketing teams who are approving posts over Slack screenshots and tracking the calendar in someone's head or a messy spreadsheet. You don't need to write code. You need your channel specs, a sense of your approval rules, and an afternoon.

You've got this - paste the first prompt and let the agent interview you.

Gated download

Enter your email — the plan downloads instantly and a copy lands in your inbox.

By submitting your email you'll also receive the weekly runbookify newsletter. You can unsubscribe at any time.