Content Agent
An AI agent that plans, writes and reviews a full week of on-brand social media posts in minutes, with a human approval step before anything goes out.
The problem
Marketing agencies write the same kind of posts for every client, every week. It takes hours, and keeping each brand's voice and rules consistent across many clients is hard.
The approach
Instead of one big prompt, the work is split into three focused AI steps, the way an agency team works: a strategist plans, a copywriter writes and a reviewer checks every post against the brand's rules.
How it is built
A FastAPI backend runs the three-step pipeline and stores brands, campaigns and posts in SQLite. Each step asks the model for structured JSON, which is validated before it is saved. The agent works with Google Gemini (including the native API) or OpenAI-compatible providers, and a demo mode shows sample output without an API key. A browser dashboard lets a person approve, edit or regenerate each post.
My role
Full design and development of Content Agent.
Delivered functionality
A working agent with a web dashboard, campaign history, CSV export and a webhook for client approval through tools such as n8n or Slack.
What the agent does
- Plan: spreads 1–14 posts across the week and five platforms, mixing content pillars, with at most two promotional posts.
- Write: writes every post in the brand's voice, following platform rules, in English, Roman Urdu or Urdu.
- Review: checks each post against the brand's "always" and "never" rules, fixes problems and gives a brand score out of 10.
- Approve, reject, edit inline, or regenerate a single post with feedback such as "shorter" or "mention free delivery".
- Multiple brands, each with its own guidelines, audience and tone.
- Campaign history, CSV export that opens correctly in Excel, and a "send for approval" webhook.
- Waits and retries automatically when a free AI tier hits its rate limit.
Inside Content Agent
DEMO VIDEOReal demo: a brand profile goes in, the agent plans, writes and reviews a week of posts, then a person approves and exports them.