Open-source toolkit for AI-powered video content workflows: identify viral clips, generate styled subtitles, and render social-ready vertical videos. Self-hostable, local-first, no SaaS lock-in.
Status (May 2026): Subtitle Generator is the most polished flow. Renders run on a real PostgreSQL-backed task queue with retry/backoff, so the UI stays responsive while a worker drains long jobs. Auth is email + bcrypt password against the local database.
| Feature | Route | What it does |
|---|---|---|
| Subtitle Generator | /subtitle-generator |
Upload or paste YouTube → transcribe (Whisper) → edit subtitles → pick from 9 templates → render via Remotion |
| Video Wizard | /video-wizard |
Full pipeline: transcribe → GPT-4o scores 30-90s viral clips → render the winners |
| Content Intelligence | /content-intelligence |
Paste a transcript → viral-clip analysis without uploading video |
| Job History | /jobs |
Per-user list of every transcription / render / clip / analysis with status, progress and error messages |
| Remotion Studio | /remotion |
Low-level template authoring |
Caption templates included: viral, minimal, modern, default, highlight, colorshift, hormozi, mrbeast, mrbeastemoji.
Output formats: vertical 9:16 (TikTok / Reels / Shorts), square 1:1, portrait 4:5, landscape 16:9. Brand-kit overrides for logo, colors and fonts apply to every template.
You need Docker Desktop (or any compose-v2 runtime).
cp .env.docker.example .env.docker
# Edit two values:
# AUTH_SECRET — openssl rand -base64 32
# OPENAI_API_KEY — https://platform.openai.com/api-keys
docker compose upThen open http://localhost:3000/signup, create an account, and run a
video through the Subtitle Generator. The /jobs page will show the
render progress in real time as the worker drains the queue.
For a manual / hybrid setup (Node on host, Python and Postgres in Docker — faster iteration), see CONTRIBUTING.md.
apps/
├── web/ Next.js 16 + TS — UI, /api routes, queue worker
├── processing-engine/ Python + FastAPI — Whisper, FFmpeg, MediaPipe
└── remotion-server/ Express + Remotion — caption rendering
packages/
└── remotion-compositions/ 9 caption templates as React components
Three highlights worth knowing:
- Screaming architecture — file structure tells you what the app does.
features/video/is "I handle video processing";server/services/owns business logic; API routes are HTTP-only. - Real task queue — long renders go through
task_queues/queue_tasksPostgres tables. The worker (pnpm worker) claims tasks atomically viaSELECT ... FOR UPDATE SKIP LOCKED, retries with exponential backoff, and forwards Remotion's per-frame progress to the user-facing job row so/jobsstays live. - Auth.js v5 + Drizzle — email + bcrypt password stored in PostgreSQL. Auth.js OAuth tables are already in the schema for when you want to add Google / GitHub / etc.
Full details: AGENTS.md (architecture & conventions), docs/ARCHITECTURE.md (system overview).
- Frontend: Next.js 16 (App Router, Turbopack), TypeScript strict, Tailwind v4, shadcn-style components, Vercel AI SDK + GPT-4o, Auth.js v5 (Credentials provider).
- Database: PostgreSQL 17 + Drizzle ORM (
pnpm db:generate/db:migrate/db:studio). - Queue / worker: Postgres-backed (no Redis), drained by a
standalone
tsxscript (pnpm --filter web worker). - Backend: Python 3.11 + FastAPI, OpenAI Whisper, MediaPipe, FFmpeg.
- Render: Remotion 4, Express job queue.
- Tooling: pnpm + Turborepo, Husky + lint-staged + commitlint (Conventional Commits).
See CONTRIBUTING.md. The TL;DR:
cp .env.docker.example .env.docker(setAUTH_SECRET+OPENAI_API_KEY).docker compose up.- Pick something from the
good first issuelabel or one of the suggested high-leverage areas in CONTRIBUTING.md. - Conventional Commits, focused PRs, screenshots for UI changes.
Ground rules live in AGENTS.md: no any, business logic
stays in services, long work goes through the queue.
- AGENTS.md — full architecture, API reference, all conventions
- CONTRIBUTING.md — setup, PR flow, where to start
- docs/ARCHITECTURE.md — system overview
- docs/COMMIT_CONVENTIONS.md — Conventional Commits
- docs/DOCKER_SETUP.md — Docker setup notes
- docs/HUSKY_SETUP.md — Git hooks
- docs/SUBTITLE_TIMING_ADJUSTMENT.md — caption sync tuning
MIT © Video Wizard Contributors.