[ <- BACK ]

┤ 02 / 06 :: SHORTZ ├

Shortz

AI video studio: a topic becomes a vertical short (script, voice-over, karaoke subtitles, editing), reviewed then published to YouTube, Instagram and TikTok.

shortz.kreio.fr ->

Stack

  • Bun
  • Hono
  • React
  • Playwright
  • ffmpeg
  • Gemini
  • Deepgram

What I did

Shortz turns a topic into a vertical short ready to publish: script, voice-over, karaoke subtitles, screen captures, music and editing. The original idea: a trending GitHub repo becomes a 30-second video. The studio can now start from an article or any free topic.

Nothing gets published without a review. Every scene stays editable, then the video goes to YouTube, Instagram and TikTok in one click per platform. Analytics flow back into the studio, and the angles that get views steer the next scripts.

Bun monorepo: Hono API, React studio, and shared packages (schemas, composition, pipeline, publishing, storage). The same React composition components drive both the preview and the headless render: what you see in the studio is exactly what gets rendered.

shortz :: pipeline
shortz :: tiktok.mp4▶ 00:00

One command steals a site’s whole

tree shortz

shortz/

├──

│ ├── api # Hono

│ └── web # React + Vite

├──

│ ├── core # Zod

│ ├── composition # preview = render

│ ├── pipeline # Playwright, ffmpeg

│ ├── publishers # YouTube, IG, TikTok

│ └── storage # local / S3

└── docker-compose.yml

shortz :: stats

103 commits in 3 weeks

31 test files

50s to render 32 s of video

>> Technical highlights

  • Overlay layer cached as an FFV1 alpha video, keyed by the render page hash: render time down from 2 min 41 to 50 s for 32 s of video.
  • verifyRender() checks every MP4 (tracks, duration, non-silent audio): a broken render is deleted instead of landing in review.
  • GIFs split into time-indexed frames: deterministic rendering, no more blank frames caused by the seek/capture race.
  • Job queue persisted in the database, live progress over SSE, cancellation, one job at a time per project.
  • Isolated workspaces (OIDC, AsyncLocalStorage, roles), secrets encrypted with AES-256-GCM, SSRF guard on user-supplied URLs.
  • Test coverage enforced in CI, Docker Compose deployment on Coolify with a local Ollama.