Content Factory
Automated TikTok content production pipeline, Co-founder

Context
Co-founder at 14x, an app studio. I built Content Factory in a few days, then used it intensively to produce content at scale. It's an internal content production system for app marketing via organic TikTok.
TikTok content has a lifespan of less than 24 hours. For our use case, consistent high-speed production mattered more than polish. The goal was to promote our apps in a natural, organic way by flooding relevant niches with volume, not to build a lasting brand presence online. That kind of brand-building probably wouldn't have worked with automated content anyway. This was a specific, volume-first distribution play where speed and consistency beat craft.
The problem
At 14x, we needed organic distribution for our apps. TikTok is the highest-reach organic channel for app discovery, but it has two brutal requirements:
- Post frequency: the algorithm rewards daily posting. Across 10+ niche accounts, that's 10+ pieces of content per day.
- Format experimentation: you don't know what works until you test it. Video slideshows, carousels, different hooks, different aesthetics. Each niche (studytok, glowup, looksmaxxing) has its own voice and visual language.
Doing this manually is impossible at scale. Writing hooks, sourcing images, finding trending audio, rendering videos, scheduling posts, tracking what's been published. One person can't produce 100+ pieces across multiple accounts without automation.
The solution
A full content production pipeline that handles every step from trend discovery to publishing, with a Next.js dashboard for review and a FastAPI backend that orchestrates the entire machine.
The pipeline: Trend Discovery > Image Sourcing > AI Text Generation > Video/Carousel Rendering > Scheduling > Publishing.
TikTok trend scraping. Selenium with undetected-chromedriver and a persistent Chrome profile. Searches TikTok for trending audio in specific niches, extracts engagement metrics, deduplicates against previously used audio IDs. The persistent profile caches cookies to avoid captchas on subsequent runs. TikTok actively fights automation. The solution: a persistent browser identity that behaves like a real user session, with extraction via embedded JSON rather than CSS selectors that break constantly.
Niche-aware content generation. Each niche (glowup, studytok, looksmaxxing) has a JSON config defining voice/tone, slang vocabulary, example hooks, hashtag pools, caption style, and visual preset defaults. Gemini AI generates hooks and captions constrained by these niche personalities. The AI doesn't produce generic motivational content; it produces content that sounds native to each specific TikTok subculture.
Carousel template engine. Pillow-based programmatic design templates that produce Instagram/TikTok carousel slides. Each preset (clean-editorial, bold-dark, pastel-tutorial) defines color palette, typography (custom font loading), layout geometry, and ornamental elements drawn via vector primitives. The challenge was making automated carousels look designed, not generated. The engine handles font fitting to bounding boxes, paper grain textures, drop caps, hairline rules, ornament dividers, progress indicators, and per-niche color theming. It's not a template you fill in. It's a design system that composes slides programmatically.
Video pipeline (MoviePy). Creates 9:16 slideshow videos: center-crops images to aspect ratio, overlays text with configurable fonts/positioning, syncs to audio with fade transitions, supports loop mode and duration-based image count. All rendered locally, no cloud rendering costs.
Batch production + publishing. The system batch-produces content (multiple carousels or videos in one run), schedules via Notion calendar integration, and auto-publishes to YouTube via OAuth2 with APScheduler polling. Google Drive integration for asset management across runs.
Next.js dashboard. Full control surface: create pipeline runs, browse image/audio libraries, edit timelines, review generated content, batch-generate carousels with niche-specific presets, and track history. Zustand state machine drives the multi-phase UI flow (fetch > edit > render > complete).
Outcomes
200+ content pieces produced (videos + carousels) across 10+ TikTok accounts. Multiple niches served from a single system, each with distinct voice and visual identity. Traceable installs from TikTok content to app downloads (SnapQuiz and others). Days of manual work compressed into minutes of pipeline configuration per batch. Built the entire system (backend + frontend + 13 API route modules + carousel template engine) in days.
Retrospective
What worked: treating content production as an engineering problem. The pipeline mindset (input > transform > output) applied perfectly to what's normally considered "creative work." Niche JSON configs separating voice/tone/aesthetic from the generation engine made it trivial to add new accounts with different personalities. The carousel template engine investing in proper design primitives (font fitting, grain textures, ornaments) meant the output looked intentionally designed, not like AI slop.
What was hard: TikTok scraping is an arms race. Anti-bot measures change constantly, sessions expire, captchas appear randomly. The persistent Chrome profile approach was the most reliable solution but still required manual login refreshes. Content quality vs. speed was the other tension. Fully automated content (AI hook + scraped images + trending audio) produces volume but not always quality. The best results came from hybrid: system generates, human reviews/tweaks before publishing.
Learnings
Distribution is an engineering problem. Most indie studios treat marketing as something you do after building the product. At 14x, marketing infrastructure (content pipelines, ad engines, screenshot translation) gets the same engineering investment as the apps themselves.
Volume reveals patterns. Producing 200+ pieces across different formats and niches generates data about what works. You can't A/B test content strategy with 5 posts; you need 50+ to see signal.
Design systems work for content too. The carousel template engine is essentially a design system (tokens, layout rules, typography scales, ornamental primitives) that outputs PNGs instead of React components. The same design engineering principles apply.
Automate the commodity, keep the craft manual. The pipeline handles everything commodity (sourcing, rendering, scheduling, publishing). Human judgment stays on the parts that matter (hook writing, content review, niche strategy). That split is where the leverage lives.