← BACK TO BUILDING
Product2026Built & QA’d

Greenlight

Social media client approval tool for agencies

One desk for social media managers to write, get client approval, schedule and publish posts for many brands.

NOT PUBLIC · PRODUCT LOCAL TOOL. THE SCREENSHOT IS FROM THE RUNNING BUILD.

Greenlight: One desk for social media managers to write, get client approval, schedule and publish posts for many brands.
Greenlight

The problem

Running social for several client brands meant keeping each brand's voice and credentials separate while chasing approvals outside the publishing workflow. Clients needed a way to approve or request changes from a phone without being provisioned into another account.

What it does

An all-in-one approval desk for social media managers juggling multiple client brands, each with its own tone, audience, and channel credentials. Posts move draft → awaiting → approved → scheduled → posted, with a per-post audit log the whole way.

The signature feature is a no-login client approval link: send a token URL, the client approves or requests changes without an account, and you rotate the token to revoke access. Plus an all-brands calendar and a printable monthly report per brand.

Who it is for

Social media managers and agencies handling several client brands at once.

What it does, feature by feature

  • The desk. Every brand as a card: what is waiting on the client, what needs you, and what is scheduled next.
  • Separate brands. Each brand keeps its own voice rules, audience, colour and channel logins.
  • No-login approvals. Clients approve or ask for changes from their phone through a private link you can revoke at any time.
  • Clear pipeline. Draft, with client, green-lit, scheduled, published, with a full history for every post.
  • AI drafting. A brief and the platforms in, one on-voice draft per platform out.
  • Publishing. Bluesky, X and Threads post automatically on schedule. LinkedIn and Instagram are copy and mark as posted.
  • Calendar. All brands on one colour-coded month.
  • Client reports. A printable monthly report per brand, with posts published and first-time approval rate.
  • Secure logins. Channel credentials are encrypted at rest.

Why it is built this way

I separated this from Repurpose Studio because it is the client-facing workflow that a personal writing system deliberately is not. Each manager gets isolated brand workspaces, each post carries an audit trail, and a revocable token link gives the client only the approval surface; local Claude Code or the manager's own key handles drafting, and native channel APIs handle scheduled publishing.

What was hard

Letting a client approve work without an account meant building auth twice: scrypt-hashed manager sessions on httpOnly cookies for the people running the desk, and revocable per-post links for clients who only ever see one screen. Each brand holds its own channel credentials, so a publish failure has to surface readably against the right brand instead of dying quietly inside a scheduler tick.

Outcomes

  • No-login client approvals
  • Multi-brand isolation
  • 60s publish scheduler

Stack

ExpressVanilla SPAJSON storeClaude headless CLI

Need something similar?

Tell me what your team does by hand today and what the finished system needs to do. I will tell you whether an automation, a custom tool, a portal or a website is the right shape.