Owais Abdullah logo
Back to all projects
AI ToolFree for Personal UseAttribution Required

ContentFTE

Autonomous AI Content Employee (Digital FTE) for Multi-Platform SEO Publishing

Free & Open Architecture Alternative To:

Jasper AISurferSEOCopy.aiByword.aiFrase

💰 Value & Cost Savings Comparison

Traditional Industry Solution

Jasper AI / SurferSEO + Content Writers

$1,500 - $3,000 / month

This Project (By Owais Abdullah)

Free for Personal Use (Self-Hosted / Open APIs)

Save $18,000+/year on content marketing production

🎯 Pain Points Solved

Why this project was built and the operational friction it eliminates:

The Problem

Manual SEO blogging requires 4–6 hours per article, making consistent daily publishing financially unsustainable ($2,000–$5,000/month for freelance writers).

The Solution

ContentFTE orchestrates autonomous researcher and writer agents producing 15–17 high-authority, well-structured articles every day on autopilot.

The Problem

Generic AI content outputs lack real-time web citations, current facts, and semantic keyword coverage, leading to Google indexing penalties.

The Solution

Integrated Tavily & SerpAPI search intent extraction ensures every brief is grounded in live ranking competitor data, user search queries, and real citations.

The Problem

Most automated tools only dump raw markdown into local folders, leaving tedious manual formatting, image uploads, and CMS data entry.

The Solution

Built-in adapters automatically upload generated images, format portable text, configure canonical slugs, and publish straight to Sanity, WordPress, or Shopify.

The Problem

Autonomous agents running blindly risk publishing hallucinations or off-brand content with zero visibility.

The Solution

Integrated Discord, Telegram, and WhatsApp alert gateways send real-time draft summaries and preview links for instant human oversight.

Core Capabilities & Architecture

Built with Python 3.12 and the OpenAI Agents SDK. A central scheduler invokes the Triage Agent to discover trending keywords from Google Sheets. The Research Agent queries Tavily API to gather competitor outlines and citations, passing structured findings to the Brief Agent. The Writer Agent produces section-by-section markdown with schema markup, while the Image Agent calls Cloudflare Workers AI for banner art. Finally, the Publisher Adapter uploads assets and posts to Sanity CMS, firing webhook notifications to Discord.

  • Multi-Agent Orchestration: Specialized Triage, Research, Content Brief, Writer, and Publisher agents
  • Live Search Intent Grounding: Powered by Tavily API and Google search scraping
  • Multi-Platform Publishing Adapters: Native Sanity CMS publishing with adapters for WordPress REST API, Shopify Admin API, and Wix
  • Free AI Visual Generation: Uses Cloudflare Workers AI (10,000 free neurons/day) with Pexels stock photo fallbacks
  • Omnichannel Notification Gateways: Rich embeds and approval triggers via Discord, Telegram, and WhatsApp
  • Resilient LLM Routing: Primary execution via Gemini with automatic failover to OpenRouter and OpenAI models
Built With:Python 3.12+OpenAI Agents SDKGoogle Gemini 2.5 FlashOpenRouterSanity CMSCloudflare Workers AITavily Search APIuv

🛠️ How to Setup & Run Locally

Quick-start guide to clone, configure, and execute this project in your own environment:

Prerequisites

  • Python 3.12 or newer installed
  • uv package manager (pip install uv or curl -LsSf https://astral.sh/uv/install.sh | sh)
  • Google Gemini API Key or OpenRouter API Key
  • Sanity.io project credentials with write permissions

Key Environment Variables

VariableDescriptionExample
GEMINI_API_KEYPrimary LLM key for agent reasoningAIzaSy...
TAVILY_API_KEYSearch engine API key for live web researchtvly-...
SANITY_PROJECT_IDTarget Sanity CMS project identifierabc123xyz
SANITY_API_TOKENSanity token with editor/write permissionsk...
CLOUDFLARE_ACCOUNT_IDCloudflare Workers AI account ID for free image generationa1b2c3...

Execution Steps

1.Clone the repository

git clone https://github.com/MrOwaisAbdullah/ContentFTE.git
cd ContentFTE

2.Install dependencies using uv

uv sync

This automatically creates and manages a virtual environment from pyproject.toml.

3.Configure environment variables

cp .env.example .env

Fill in your API keys (Gemini, Tavily, Sanity) in the .env file.

4.Run the agent workflow

uv run python main.py

To run on a continuous schedule, deploy via cron or Docker container.

🗺️ Project Roadmap & Planned Improvements

Current release progress and planned future enhancements:

YouTube-to-Article Pipeline

Extract video transcripts and timestamps to repurpose video content into formatted SEO blog posts.

In Progress

Internal Link Knowledge Graph

Automatically scan existing site articles to inject relevant contextual internal links into new posts.

Planned

Multi-Language Auto-Localization

Translate and culturally adapt generated articles into Spanish, Arabic, and German.

Planned

License, Fair Use & Attribution Terms

Creative Commons Attribution-NonCommercial 4.0 (CC BY-NC 4.0)

Free for personal, educational, and research use with mandatory credit to Owais Abdullah. Direct commercial sale, packaging into paid client deliverables, or commercial licensing is strictly prohibited without written consent.

Required Attribution Notice: "Built by Owais Abdullah (https://github.com/MrOwaisAbdullah)"