case · 010
YouTube Shorts automation, local-only.
A local-only YouTube Shorts automation system: Next.js as the sole backend, local FFmpeg for rendering, Prisma + PostgreSQL for persistence, free-tier AI for scripts/images/voice, and a strict human-review gate at every pipeline stage. Power tool for one creator on one machine, no cloud bill.
fig. 0.1
Cover image · pipeline stage diagram
The client needed a local-only YouTube Shorts automation system — topic planning, script generation, scene-split, image + voice generation, FFmpeg-based video rendering, and YouTube upload with scheduling — all running on a single developer machine using Next.js as the sole backend (no separate API server). PostgreSQL with Prisma persisted topic batches, scenes, render status, and publish metadata; FFmpeg locally animated scenes (zoom, pan, ken-burns, 16 presets) and stitched them into a final MP4. AI services stayed free-tier (Pollinations for images, Piper / Coqui / Edge TTS for voice, OpenRouter / Gemini / local LLMs for scripts).
The hard constraint was *local-first* — no cloud hosting, no serverless, no SaaS bill. Every stage of the pipeline was surfaced in a single Next.js dashboard so a solo creator could plan 60 topics a day, generate scripts and scenes for the ones they selected, render locally, review / approve / reject, then upload via the YouTube Data API with a scheduled publish time.
pipeline stages (draft → uploaded)
in-scene animation presets
scenes per Short, generated from one prompt
Quality gates were a first-class deliverable. Every step in the pipeline pauses for human review: topics from a base idea are *generated* but the creator picks which to produce; scenes are *written* but the creator edits the narration and image prompts; rendered videos go to a review queue before they're eligible for upload. The state machine tracks each artefact through `draft → script → images → voiceover → render → review → uploaded`, and nothing advances without explicit approval.
Architecture: Next.js 15 (App Router) with Server Actions + API Route Handlers doing all the heavy lifting server-side. Animations were where most of the visual polish came from — 16 in-scene animation presets (zoom-in, pan-left/right/up/down, ken-burns, spiral-zoom, pulse-breathe, drift-diagonal, focus-pull, orbit-light, slow-scale-rotate, parallax-layer, subtle-float, cinematic-push) plus alternating soft-wipe transitions between scenes (right→left, left→right, up→down, cycle). Final videos assembled with FFmpeg locally on the developer's GPU, no cloud rendering bill.
The system is intentionally narrow in scope — one creator, one machine, one platform (YouTube). It is not a multi-channel SaaS like framecraft; it's a power tool that runs entirely offline.
/ stack
- YouTube Data API v3 (upload + scheduling only)
- Next.js 15 (App Router)
- PostgreSQL + Prisma
- local FFmpeg
- Tailwind + shadcn/ui
- Radix UI
- Remotion
- @dnd-kit
next case study
Real-estate tokenisation platform..
A regulated real-estate platform that tokenises property ownership, tracks investor holdings across multiple share classes, and reconciles on-chain transfers against an off-chain ledger that handles capital calls, distributions, and corporate buybacks without drifting from on-chain truth.
/ start a project