SocialFTE
Autonomous AI Social Media Employee (Digital FTE) with Remotion Video Engine & Discord Approval Gate
Free & Open Architecture Alternative To:
💰 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
🛠️ 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)
| Variable | Description | Example / Format |
|---|---|---|
| DATABASE_URL | Neon PostgreSQL connection string | postgresql://... |
| OPENROUTER_API_KEY | LLM API key for caption drafting and post ideation | sk-or-v1-... |
| DISCORD_BOT_TOKEN | Bot token for sending interactive approval cards | MTIz... |
| DISCORD_APPROVAL_CHANNEL_ID | Discord channel ID for review cards | 123456789... |
| R2_ACCOUNT_ID | Cloudflare R2 Account ID for media hosting | a1b2c3... |
| R2_ACCESS_KEY_ID | Cloudflare R2 Access Key | your_access_key |
| R2_SECRET_ACCESS_KEY | Cloudflare R2 Secret Access Key | your_secret_key |
| R2_BUCKET | R2 storage bucket name | socialfte-assets |
| R2_PUBLIC_URL | Public CDN URL for uploaded media | https://media.example.com |
Execution Steps
1.Clone the repository
git clone https://github.com/MrOwaisAbdullah/socialfte.git
cd socialfte2.Install web dashboard dependencies
npm installInstalls 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 .envSet your database URL, OpenRouter key, Discord tokens, and Cloudflare R2 credentials.
5.Run the development server and worker
npm run devLaunches 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.
Automated Audio Ducking & Waveform Rendering
Intelligent background music ducking when speech is detected, paired with animated audio waveforms.
Multi-Brand Workspace Isolation
Manage multiple client brands with distinct style guides and Discord channels from a single dashboard.
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.