Back to Projects
In development
DemoPrivate
Next.jsReactTypeScriptFFmpegCloudflare R2SQLitepnpm monorepo2026

Video Studio

Private monorepo for a web video studio: Next.js UI on Vercel and heavy jobs (FFmpeg, optional ASR, vertical crop) on a local worker. Product focus is Automate — talking head → short and long/podcast → clips — before a full NLE. The Recursos library is R2-only in the editor; a local folder is the sync source. APIs require a Bearer token; the Vercel demo is the UI shell (the worker does not run in the cloud).

Project Screenshots

Video Studio — vista previa

1 / 6

What I learned

  • Split serverless UI from a local FFmpeg worker without pretending Vercel does the render
  • Invest in Automate packs (A/C) and freeze other editor scope until that path is green
  • Ship an R2-only media library in the editor with sync from a local folder
  • Tighten trust: Bearer on /api/*, local bind, MIME-allowlisted uploads

Technical Details

  • pnpm monorepo: apps/web (Next.js), apps/worker (FFmpeg/ASR), packages/db (SQLite)
  • Cloudflare R2 for the Recursos library (LIBRARY_SOURCE=r2)
  • Automate A (talking head) and C (long → clips) with hermetic smokes
  • APIs with Authorization Bearer; STUDIO_API_TOKEN
  • UI demo: https://video-studio-nu.vercel.app — worker only on the local host