Skip to content

Sheet
03 / 05
Rev
2026.11
Title
SocialMediaProProduct 03
Author
B. BolekFrankfurt/M
Status
In daily use · private
Platform
Windows
Channel
@potato_videos
Built with
Tauri 2 · Rust · React 19 · SQLite · Claude Code · ElevenLabs

Product · SocialMediaPro

A production line for an animated YouTube channel.


01/What it is

Claude makes the videos. I make the calls.

SocialMediaPro is the app that runs my YouTube channel, @potato_videos: short animated science videos — why chili only seems to burn, how a cockroach lives a week without its head — made in Turkish, English, Spanish and Bosnian, each language on its own channel.

Nobody animates anything by hand. Claude Code sessions, started and supervised by the app, write the scenario, design the cast, build every scene as a page, then score their own work on seven axes and rework whatever falls short. ElevenLabs gives every character its own voice. The app renders the film, cuts the vertical Shorts, translates and dubs them, and schedules them to YouTube. Instagram Reels and TikTok drafts are built in, waiting for their accounts.

What it does not do is decide. Eighteen stages, five of them gates where the video stops until I approve the scenario, the cast, the final film, the package and each Short. Everything that needs me lands in one inbox, sorted by what blocks work first.


02/In the app

Every screen here is the live app.

  • The Videos screen: 21 videos with thumbnails, languages, an 18-step production strip per video, and state such as Gate 2, Scene build and review, Scheduled or Published.

    Videos — every film and its 18-stage strip

  • The Inbox with two Gate 2 approvals. The selected item lists the cast — characters, props and locations — with Approve, Reject, Open gate and Open console buttons.

    Inbox — a cast waiting at Gate 2

  • The Review tab: nine scenes scored 8 or 9 on seven axes — hook in 2 seconds, phone readability, motion, variety, composition, topic and sound sync — with a contact sheet and a distinct-storyline check.

    Review — Claude's self-critique, seven axes per scene

  • The shared library: 189 characters, 231 props and 98 locations drawn for earlier videos, each versioned and pinned by the videos that use it.

    Library — 189 characters, versioned and reused

  • The Translations tab: the Turkish master title, description and subtitles side by side with the generated Bosnian version, and the chosen Bosnian narrator voice.

    Translations — master and Bosnian side by side

  • The Schedule week view: film and Short slots per channel and language, scheduled uploads, and a 26-hour minimum lead time.

    Schedule — slots per channel and language


03/What is in it

Counted from the repository.

Pipeline stages
18
Approval gates
5
Critique axes per scene
7
Languages per video
4
Screens
28
MCP tools for Claude
30
Claude prompt templates
23
Database migrations
80
Lines of Rust
91,420
Lines of TypeScript
31,621
Issues closed
318
Commits
354

04/Features

Eight things it does, idea to analytics.

A/Ideas

Idea generation
Pick one or more topics, a format and a count; Claude writes the ideas with the first second, the hook and the re-hooks planned. Bookmark the good ones and turn any of them into a video.
Competitor analysis
The app pulls public numbers for channels I watch and for my own, and Claude writes up the title, thumbnail and topic patterns that are working, with new ideas from them.
Distinct-storyline check
Before Gate 1 and again on the finished film, a check rejects a video whose premise, situation and outcome repeat an earlier one.

B/Cast and style

Cast sheets
Claude designs the characters, props and locations and draws their portraits and pose sheets. I approve the cast at Gate 2; after that the scenes import the characters and never redraw them.
Shared library
Everything drawn once is kept: 189 characters, 231 props and 98 locations so far, versioned, with each video pinned to the version it was made with.
Guided styles
Describe a look in a sentence and attach screenshots you like. Claude drafts the style rules and draws a sample character and scene; comment and it redraws, approve and it becomes a style.

C/Scenes and quality

Seven-axis self-critique
Every scene is scored on hook in the first two seconds, phone readability, motion, variety, composition, topic accuracy and sound sync, and must name its three worst problems with timestamps.
Automatic rework
A scene below the pass mark on any axis is reworked, up to three times by default. If it is still short, it stops and asks me: accept as is, or retry with a comment.
Fast review renders
Reviews render contact sheets and phone-size frames in about a minute instead of a full render. The MP4 is rendered once, after the scenes pass.

D/Voice and sound

A voice per character
ElevenLabs voices every line, with word timings the scenes animate to. Older films with one narrator can be re-voiced automatically, without changing a word.
Credit-aware jobs
Voice jobs check the ElevenLabs balance first and refuse what it cannot cover; a low balance warns before the next production, not during it.
Sound effects and music
Claude searches and downloads sound effects and music beds through Freesound from inside the session.

E/Render and languages

Frame-exact rendering
Headless Chromium steps each scene page at 60 fps and pipes the frames into ffmpeg, with loudness-checked mixing and a delivery check against each platform's rules.
Four languages
Titles, descriptions, subtitles and dubs per language, side by side with the master for editing. Turkish, English, Spanish and Bosnian today; more can be added per video.
Native Shorts that loop
Shorts are re-rendered at 1080×1920 from the scene pages rather than cropped, aim at 45 to 55 seconds, and end running seamlessly into their own start.

F/Publishing

YouTube
Scheduled and immediate publishing, localized metadata and captions, and a read-back that flags anything YouTube stored differently from what was sent.
Instagram and TikTok
Reels publish through the Instagram API. TikTok posts go in as drafts at slot time for me to finish in the app, with a manual fallback when a draft cannot be pushed.
One schedule
Film and Short slots per channel, language and time zone, with a minimum lead time, a quota ledger and a rate limiter so no platform limit is hit.

G/After publishing

Comments
The app reads comment threads on our videos; Claude drafts replies, I edit and send them, one by one or all at once, and moderate from the same screen.
Analytics
Daily metrics per platform — YouTube today, Instagram and TikTok once they post — drillable from platform to account, series, video and post, with gaps shown as gaps rather than zeros.

H/Running it

Inbox
Approvals, blockers, failed jobs, manual tasks and account warnings in one list, ordered by what stops work first, each linked to its runbook entry.
Consoles
An embedded terminal per video, and one for the whole app, running Claude Code with 30 app tools over MCP. Sessions can also be followed from claude.ai or the Claude phone app.
Jobs, backups, health
A job queue with retries and checkpoints, a daily 03:00 backup with verified restore, system-health checks that install missing tools, and the whole UI in English or Turkish.

05/How it is built

Built the way it makes videos: agents, with gates.

From brief to backlog first
Before any code, an elaboration toolkit of Claude agents took the brief through intake, product definition, architecture, a data model and screen designs to a validated backlog of 19 epics and 83 features. 106 decisions are on record.
An autonomous issue loop
The backlog became GitHub issues in dependency order. A planning session wrote each plan, a fresh subagent wrote the code, and the result was reviewed and pushed before the issue closed — 318 closed so far.
Claude does the work, the app holds the state
Claude Code sessions run in pseudo-terminals inside the app and reach it only through 30 MCP tools: write a stage's output, record a critique, raise a question, schedule a post. Every decision a session makes lands in SQLite where I can see it.
Secrets never reach the screen
Tokens and keys live in one credential file outside the library and stay in the Rust process; the interface only ever learns whether an account is connected.

06/Watch it

The app is private. What it makes is on YouTube.

All products