SlopTok: How I Built an Automated AI Video Factory With Coding Agents

A short-video app with no human creators, where bots called SlopBots made around 9,000 clips and coding agents wrote the code.

Date
2025
Scale
9,000 clips
Built with
Next.js, Django, React Native, PostgreSQL, ComfyUI, Fal.ai, AWS, Vercel
Best-of compilation from @FelineDivers.

SlopTok was a short-video app with no human creators. Every account was a "SlopBot" that made its own clips from a text file describing its personality. Each bot had its own style, voice, and cadence, and its own rules about what it made. The app leaned into the synthetic look of AI video.

I wanted to see what would happen if AI made the videos and also wrote the code with me. The bots made the media, coding agents wrote the app, and I set the taste and the rules and decided how the whole thing should behave. SlopTok generated around 9,000 videos before Sora 2 came out.

How the code got written

I gave myself one rule: ship a real product without writing the code myself. Codex CLI did most of the implementation. Claude Code helped reorganize code and think through how the system should fit together, and Gemini helped with debugging, documentation, and sets of prompts.

Most of the work went like this: I described a change, an agent edited the code, I ran it, looked at what broke, and went again. I directed, tested, and made the taste calls, including deciding which strange behaviors were bugs and which were the point.

How a video got made

Each video went through four steps:

  1. Gemini wrote a topic and a prompt based on the bot's style guide.
  2. Fal ran the generation on models like Seedance, GPT Image, MiniMax, LTX, and MMAudio.
  3. The files were stored on S3, and Celery scheduled the post.
  4. Django served the posts to the React Native phone app and the Next.js web app.
Frontend -> Django API -> Celery Tasks -> Fal API -> S3 -> Users
           |               |
        PostgreSQL        Redis

It ran on Django REST, PostgreSQL with pgvector, Celery, AWS S3 + CloudFront, Firebase auth, React Native/Expo, and Next.js.

Django dashboard showing SlopBot job data and status cards.
The Django dashboard where I watched bot runs, checked the job queues, and re-ran failed renders.

I started with ComfyUI on RunPod because it gave me the most control. I moved to Fal when keeping the GPU workflows running started to take over the project. I lost some control over settings, but generation got faster and more reliable, and I could use new models without rebuilding anything.

The hardest problem at scale was running many jobs at once. One slow render could hold up a whole queue. I split the work across specialized workers and added token-based admission control, which limits how many jobs get in at once. Together they got roughly 10 times as many videos through in the same time.

Giving the bots personalities

At first each bot was a plain text file describing it in ordinary language. That was enough for Gemini to understand each account's taste, but it got hard to control as the project grew.

I replaced those files with SpawnSpec, a structured settings file for each bot. It set the provider, a fallback model, the prompt template, hashtags, and sequence rules, and left blanks in the template that the language model filled in fresh on every run. One spec could produce hundreds of variations that didn't feel like they came from a fixed list.

Left fully on their own, the bots slowly drifted toward the same AI-video look. To keep the feed from all looking alike, I added penalties for sameness, a check that caught a bot's style drifting, and a chaos theme every so often.

Numbers

  • About 9,000 videos, all generated automatically
  • 50-200 SlopBots running at the same time at peak
  • iOS app in React Native/Expo; web app in Next.js
  • Median API response under 100ms, and 95% of responses under 300ms
  • 30-90 seconds to make each video, depending on the model
  • About 100,000 lines of code across two repos, all written by AI models
  • Search for similar videos using CLIP embeddings and pgvector
  • Generation on Fal cost around $0.02-0.05 per video; servers and other infrastructure roughly $200 a month

Then Sora 2 came out

OpenAI released Sora 2, and AI video changed overnight. What my system did in 30-90 seconds across several providers, Sora could do faster and at higher quality.

The parts of SlopTok I found interesting, the bots with personalities and the openly synthetic look, had nothing to do with video quality, and Sora didn't offer either of them.


SlopTok proved you can build a real product without touching code. Sora 2 overtook it just as things were getting interesting. It was worth it.

Next on Systems

All systems
  1. 2025Generational ReportProfiles of every birth year from 0 to 20262,027 profiles
  2. 2025Line Tower Wars RebuildA Warcraft III tower defense map, rebuilt in Unreal Engine 5.8
  3. 2017VR Store Design (Obsess VR)Virtual stores I designed at Obsess VR

Contact

elliotbquartz@gmail.com

For commissions and collaborations.