Back to all projects
Digital FTEFree for Personal UseAttribution Required

SocialFTE

Autonomous AI Social Media Employee (Digital FTE) with Remotion Video Engine & Discord Approval Gate

Free & Open Architecture Alternative To:

⚡ Hootsuite⚡ Buffer⚡ Opus Clip⚡ Predis.ai⚡ Lately AI

💰 Value & Cost Savings Comparison

Traditional Industry Solution

Hootsuite Enterprise + Opus Clip + Dedicated Video Editor

$600 - $1,500 / month

This Project (By Owais Abdullah)

Free for Personal Use (Self-Hosted Next.js + Python Architecture)

Save $10,000+/year on social media scheduling and video production tools

🎯 Pain Points Solved

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

The Problem

Maintaining daily multi-platform content schedules across TikTok, YouTube Shorts, Facebook, and Instagram requires 2–3 dedicated employees.

The Solution

SocialFTE handles the full lifecycle autonomously: drafting captions, rendering dynamic motion graphics, compiling MP4 videos, and scheduling distribution.

The Problem

Automated social bots post generic AI sludge with em dashes, robotic hype, and off-brand phrasing that harms customer trust.

The Solution

Enforces strict brand guidelines (real prices upfront, no em dashes, conversational human tone) with zero tolerance for generic AI fluff.

The Problem

Fully autonomous social posting is risky; a single hallucinated post or incorrect price can spark PR nightmares.

The Solution

Rigid human-in-the-loop governance: posts MUST be approved via Discord interactive button cards before touching live platform APIs.

The Problem

Creating video content programmatically is historically brittle and requires clunky command-line video stitching.

The Solution

Leverages Remotion (React/TypeScript) to render pixel-perfect, typography-driven animated vertical videos and YouTube shorts on demand.

⚡ Core Capabilities & Architecture

Split into two primary services: apps/dashboard (Next.js 16, Tailwind CSS, Neon Postgres) providing the visual calendar and review UI, and apps/worker (Python 3.12, LiteLLM, OpenAI Agents SDK) executing background drafting, media processing, and publishing. Video compositions live in packages/remotion. Approved posts trigger GitHub Actions dispatch or local headless workers to render MP4s, upload to Cloudflare R2, and distribute via platform APIs.

  • ✔Dual Architecture: High-performance Next.js 16 Dashboard UI + Python background AI worker
  • ✔Remotion Video Engine: Programmatically compiles vertical MP4 videos with dynamic captions, audio mixing, and motion graphics
  • ✔Discord Interactive Approvals: Posts are delivered as rich cards with 'Approve', 'Edit', or 'Reject' buttons
  • ✔Multi-Platform Publishing: Direct API publishing to Facebook, Instagram, YouTube Shorts, and TikTok
  • ✔Vision-Scored Cover Frame Picker: Evaluates best video frames for thumbnail click-through rate optimization
  • ✔Audit Trail & Rescheduling: Interactive calendar with daily-cap warnings and full execution logging
Built With:Next.js 16Python 3.12+Remotion (React Video Engine)OpenAI Agents SDKCloudflare R2Discord APIFFmpeg & WhisperNeon PostgreSQL

🛠️ How to Setup & Run Locally

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

Prerequisites

  • Node.js 20+ and pnpm / npm
  • Python 3.12+ with uv
  • FFmpeg installed on your system
  • Discord Bot Token and Webhook URL
  • Cloudflare R2 bucket for asset storage

Key Environment Variables (.env)

VariableDescriptionExample / Format
DATABASE_URLNeon PostgreSQL connection stringpostgresql://...
OPENROUTER_API_KEYLLM API key for caption drafting and post ideationsk-or-v1-...
DISCORD_BOT_TOKENBot token for sending interactive approval cardsMTIz...
DISCORD_APPROVAL_CHANNEL_IDDiscord channel ID for review cards123456789...
R2_ACCOUNT_IDCloudflare R2 Account ID for media hostinga1b2c3...
R2_ACCESS_KEY_IDCloudflare R2 Access Keyyour_access_key
R2_SECRET_ACCESS_KEYCloudflare R2 Secret Access Keyyour_secret_key
R2_BUCKETR2 storage bucket namesocialfte-assets
R2_PUBLIC_URLPublic CDN URL for uploaded mediahttps://media.example.com

Execution Steps

1.Clone the repository

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

2.Install web dashboard dependencies

npm install

Installs Next.js 16 dashboard and Remotion video rendering packages.

3.Install Python worker dependencies

cd apps/worker && uv sync && cd ../..

Provisions Python virtual environment for the AI generation worker.

4.Configure environment variables

cp .env.example .env

Set your database URL, OpenRouter key, Discord tokens, and Cloudflare R2 credentials.

5.Run the development server and worker

npm run dev

Launches the Next.js 16 content planner dashboard on localhost:3000.

🗺️ Project Roadmap & Planned Improvements

Current release progress and planned future enhancements:

Direct TikTok Content Posting API

Full integration with TikTok Content Posting API for direct scheduled video uploads.

Completed

Automated Audio Ducking & Waveform Rendering

Intelligent background music ducking when speech is detected, paired with animated audio waveforms.

In Progress

Multi-Brand Workspace Isolation

Manage multiple client brands with distinct style guides and Discord channels from a single dashboard.

Planned

License, Fair Use & Attribution Terms

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

Free for personal, educational, and showcase use with mandatory credit to Owais Abdullah. Commercial deployment for clients or SaaS resale requires a separate license.

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