Skip to content

Repository files navigation

WhyPost

GitHub Stars


WhyPost is a fully autonomous content factory. 10 cron jobs. 5 AI agents. Posts every day to Instagram, TikTok, and YouTube. Zero Anthropic API costs — uses Claude Pro CLI as a subprocess, not the API.


Philosophy

Zero cost

WhyPost uses Claude Code CLI — the same $20/month Claude Pro subscription you already have — invoked headlessly as a subprocess. No API key. No per-token billing. The same intelligence at zero marginal cost. This is the core insight that makes the whole system economically viable.

Daily autopilot

10 cron jobs fire every morning without you touching anything. The pipeline executes, posts go live, performance gets logged. You check your analytics after the fact.

Multi-platform

One script becomes three formats — a vertical Instagram Story, a YouTube Short, and a TikTok — each optimized for that platform's algorithm, aspect ratio, and caption style.

Karaoke engine

Remotion renders word-by-word karaoke captions synced to the millisecond. Not burned-in subtitles. Proper motion-graphics captions that match the audio beat for beat.

AI orchestration

Five separate agents, each specialized, each independent. EXEL mines ideas. Script Writer writes. CLACK renders. Publisher posts. Calendar plans. Each one upgradeable without touching the others.


What it does every morning

TimeCron jobWhat happens
09:00exel_scanEXEL crawls Reddit for viral topics in the last 24h
09:01exel_scoreTopics scored by engagement + trend velocity
09:03script_writeScript Writer generates a 47-second platform-optimized script via Claude CLI
09:05script_reviewScript reviewed for hook density and B-roll cue placement
09:06clack_renderCLACK Director renders karaoke video in Remotion at 120fps
09:10clack_encodeFFmpeg encodes separate files for IG, TikTok, YouTube specs
09:12quality_gateQuality check — rejects below 90% score, re-queues
09:13publish_igPublisher uploads to Instagram with caption + hashtags
09:13publish_tiktokPublisher uploads to TikTok with trending audio hook
09:14publish_ytPublisher uploads to YouTube Shorts with SEO title
09:15calendar_logCalendar Agent logs performance, updates weekly queue

Pipeline

EXEL (idea engine) → Script Writer → CLACK Director → Publisher → Calendar Agent
↑ ↓
Reddit + trends IG · TikTok · YouTube
AgentRole
EXELCrawls Reddit, scores topics by viral potential, queues the winner
Script WriterClaude Pro CLI writes 45–60s scripts with hook analysis and B-roll cues
CLACK DirectorRemotion renders karaoke video + FFmpeg encodes per-platform
PublisherQuality gate + uploads to IG/TikTok/YouTube with metadata
Calendar AgentLogs performance, plans the week, manages the queue backlog

Mission Control Dashboard


Why this is different

Buffer / HootsuiteHiring a content teamChatGPT pluginsWhyPost
Cost$15–$120/mo$3k–$8k/mo~$20/mo API$0 extra (Claude Pro)
Video productionNoYesNoYes — karaoke engine
Fully automatedScheduling onlyNoNoYes — 10 cron jobs
Local / privateNo (cloud)NoNoYes — runs on your Mac
CustomizableLimitedYesLimitedFully open source

Features

  • 10 cron jobs active — posts every day without manual intervention
  • Remotion karaoke engine — word-level captions synced to the millisecond
  • Mission Control — React dashboard, 7 pages, real-time pipeline visibility
  • B-roll automatic — Pexels + Pixabay fallback, selected by topic relevance
  • Multi-platform — format and metadata optimized per channel
  • Zero Anthropic API costs — Claude Code CLI (claude --print), not the API
  • Performance memory — SQLite tracks what performs, EXEL weights future topics accordingly

Stack

  • Backend: Python + Flask on :5174
  • Frontend: React + Vite (Mission Control, 7 pages)
  • Video: Remotion + FFmpeg
  • AI: Claude Code CLI · Gemini Flash · Groq
  • Storage: SQLite + JSON queue (local)
  • Scheduling: crontab macOS (10 jobs)

Setup

git clone https://github.com/OfficialWhyEd/WhyPost
cd WhyPost
python3 -m venv venv &&source venv/bin/activate
pip install -r requirements.txt
cd web && npm install &&cd ..
cp .env.example .env
# Edit .env: IG_ACCESS_TOKEN, TT_ACCESS_TOKEN, PEXELS_API_KEY# Install cron jobs
bash setup_cron.sh
# Start manually (cron runs automatically at 9am)
python3 server/app.py &cd web && npm run dev

Structure

WhyPost/
├── agents/ # EXEL, ScriptWriter, CLACK, Publisher, Calendar
├── server/ # Flask API + routes
├── web/ # React Mission Control (7 pages)
├── remotion/ # Karaoke video templates
├── prompts/ # System prompts for each agent
├── data/ # SQLite DB, queue, state
├── scripts/ # Utilities
└── setup_cron.sh # Installs all 10 cron jobs

Star History

Star History Chart


Spread the word

If WhyPost is useful to you, share it where it belongs:


Contributing

WhyPost is open source and built to be extended. Each agent is a standalone Python module — drop in a new one, wire it to the Flask API, add a cron entry.

Good first contributions:

  • New platform integrations (Pinterest, LinkedIn)
  • Additional Remotion video templates
  • EXEL scoring improvements (YouTube trending, Twitter/X)
  • Mission Control UI enhancements

Open an issue or a PR. The pipeline runs every day either way.


Built by @whyed · macOS · local-first · no Anthropic API key needed

About

Autonomous content factory: 10 daily cron jobs, 5 AI agents (Reddit mining → scriptwriting → Remotion karaoke video → publish). Posts daily to IG, TikTok, YouTube Shorts. Zero Anthropic API costs — Claude Pro CLI.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages