← All case studies

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.

Client
Anonymised — creator tooling
Year
2025
Chains
YouTube API
Role
Local-first pipeline · animation system · review tooling

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.

7

pipeline stages (draft → uploaded)

16

in-scene animation presets

4-6

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

on-chain
  • YouTube Data API v3 (upload + scheduling only)
off-chain
  • 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

Have something similar in mind?