Skip to content
Apsan Works
Live2026

Video Pipeline (Stick dashboard)

A local production dashboard that takes a video from title idea to a scheduled YouTube upload, with every stage (script, voice, render, metadata) one click away.

The problem

A recurring YouTube channel means the same eight-step production process repeating for every video: come up with a title, write a script, record a voiceover, source images, cut a render, write metadata, and upload on schedule. None of those steps is hard alone. Doing all eight, consistently, without any one of them becoming the bottleneck that slows the channel's output, is the actual problem.

What we built

  • 01

    A single dashboard taking a video through eight defined stages, title, script, voiceover, images, render, metadata, upload, posted, with each stage's output feeding directly into the next.

  • 02

    Script generation and title/metadata suggestions run through Claude, producing a full narration script in one pass rather than an outline to expand manually.

  • 03

    Voiceover runs entirely locally through Kokoro TTS. No per-video API cost, no round trip to a cloud provider for audio.

  • 04

    FFmpeg assembles the final render from timestamped images and the generated audio, with optional background music layered in.

  • 05

    Upload and scheduling go straight to YouTube through the Data API v3 and Analytics API, so a finished video can be scheduled without leaving the dashboard.

Decisions worth noting

Local-first, deliberately

SQLite for the project library, Kokoro for voice, FFmpeg for assembly. The only network calls are to Claude for text and to YouTube for upload, which keeps per-video cost low and the pipeline usable offline for everything else.

Real-time progress over polling

The dashboard uses server-sent events rather than polling, so long-running steps like rendering show live progress instead of a spinner with no information behind it.

Built around one channel's actual workflow

This was not built as a generic video tool. It models one channel's real eight-step process exactly, which is why every stage maps to a genuine bottleneck rather than a hypothetical one.

Tell us what is slowing you down

A short conversation is usually enough to tell whether this is a build, an automation, or something you should not do at all. We will tell you which.