- 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
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.

Videos — every film and its 18-stage strip

Inbox — a cast waiting at Gate 2

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

Library — 189 characters, versioned and reused

Translations — master and Bosnian side by side

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.