← Back to projects
Automation · Case studyRunning

YouIAautoA video factory that never switches off.

Six YouTube channels scripted, voiced, edited and published by one server on AWS.

Python 3.12FFmpegDockerAWS EC2YouTube Data APISQLAlchemyEdge TTS
Real factory covers displayed on a phone and monitor on a dark desk, with a small server behind them

A video factory that never switches off.

Six YouTube channels scripted, voiced, edited and published by one server on AWS.

The opening of a real Short from the factory, October 2026.
My role

Product definition and AI-assisted development, connecting requirements, implementation and review.

Running on AWS since October 2026: 6 channels publishing and 1 paused on purpose, 780 tests passing on 1 Nov 2026 and release v028 installed with no restart and no test uploads. The target of 5 Shorts + 1 long video per channel is still being measured.

Publishing daily on several channels takes topics, scripts, media, voice, editing and uploads, and a small server cannot do it all at once. A failure halfway must never turn into a duplicate video or a wasted quota.

One worker per channel behind shared locks: one heavy production at a time and coordinated uploads. An idempotent ledger records every upload attempt. Media search federates eleven providers and drops NC, ND or unknown licences; CC BY credits go into the description. Each channel has its own voice, pace and pronunciation dictionary.

Topics — Official YouTube and Google Trends samples, filtered by niche.

An explanatory diagram of the running workflow. This is not live system monitoring.

Automatic script, voice-over, edit and upload

Implemented¹

Media from 11 providers with checked licences

Implemented¹

Idempotent upload ledger

Implemented¹

Daily target per channel being measured

In development

¹ Identified in code or implementation documentation; not equivalent to a new production test.

Python 3.12FFmpegDockerAWS EC2YouTube Data APISQLAlchemyEdge TTS

Disk. The server has 30 GB and each production uses about 1 GB while it works. I added a reserve that delays production instead of crashing, staged installs that abort safely and a clean-up that only deletes videos already public on YouTube: 2.83 GB freed without touching scheduled items, the database or the queues.

Cover of a Short on why flamingos are pink, made by the factory

Real output produced by the system.

A running container is not a goal that is met. I only call it stable after measured full cycles, and every install leaves a receipt saying what changed, what was tested and how to roll back.

Keep exploring

Social AutoPost
Let’s build something.

An interesting problem?
Let’s build.

Web systems, automation and tools that turn an idea into working software.