← Back to Portfolio
L7AI

L7AI Content Intelligence Pipeline

Automated Bilingual Content System · Live · Running Daily

A fully automated research-to-publishing pipeline that scans 60 topics across 7 data sources weekly, scores opportunities with a multi-signal AI algorithm, produces finished content (carousels, videos, captions, thumbnails), and publishes across 10 social media channels in English and Spanish. From a single topic signal to a finished, published post — no manual steps except script approval.

26

Active Workflows

47

Database Tables

14.9K+

Records

10

Social Channels

60

Topics Tracked

$43/mo

Infrastructure

System Overview

From Raw Data to Published Content

📡
1

Collect

7 Data Sources

12K+

YouTube · Blogs · News · Forums · Reddit · Comments

🧠
2

Score

AI Algorithm

158

10+ signals → GOLD / SILVER / WATCH

📋
3

Plan

Calendar + Briefs

525

56 entries/week · bilingual · scheduled

4

Approve

Human Review

1 click

Brand voice quality gate · 2 min

🎬
5

Produce

Media Engine

459

Carousels · Video · Voice · Music · Thumbnails

📢
6

Publish

10 Channels

EN+ES

IG · LinkedIn · FB · Threads · YouTube × 2 langs

⏱️

Weekly Cycle

Fresh data every 7 days

🤖

26 Workflows

Fully orchestrated via n8n

👤

1 Approval

Human-in-the-loop by choice

🌐

20 Outputs

10 channels × 2 languages

💡

Why I Built This

⚡ The Problem

As a solo developer building two systems, I had zero time for content creation. But today's world demands online presence — LinkedIn, Instagram, YouTube, all need consistent, quality content. Doing it manually across multiple platforms in two languages was impossible. Every hour spent on content was an hour not spent building.

✅ The Solution

Automate everything from research to publishing. The system scans for trending topics, scores opportunities, generates content briefs, produces carousels + videos + captions, and publishes to 10 channels — all I do is approve the scripts. One approval click, and the rest is fully automated end-to-end.

I CAN build fully autonomous publishing. I CHOOSE to approve scripts because my brand carries my name. After approval, everything is automated. This is a product maturity decision, not a technical limitation.

🏗️

5-Layer Pipeline Architecture

Each layer operates independently with its own workflows, data models, and error handling. If one layer fails, the others continue. Data flows down; each layer enriches the previous output.

📡
LAYER 01

Data Collection

7 scheduled workflows · runs weekly

Automated scanners continuously gather raw data from multiple sources across the internet.

Workflows

YouTube Scanner

Scans channels for trending videos, extracts metadata, view counts, engagement rates

Blog Supply Scanner

Crawls industry blogs, filters spam domains (39% pollution removed via blocklist)

AI News Monitor

Tracks AI/tech news sources for breaking stories and emerging trends

Question Demand Collector

Scrapes forums and Q&A sites for what people are actually asking

Community Signal Scanner

Monitors Reddit, X, LinkedIn for engagement spikes and viral patterns

YouTube Comment Analyzer

Extracts comments for sentiment analysis and content gap detection

Live Data

1,087 YouTube videos

1,449 blog articles

1,816 news articles

3,937 community signals

4,738 YouTube comments

440 forum questions

🧠
LAYER 02

Intelligence & Scoring

3 workflows · multi-signal AI algorithm

Raw data becomes actionable opportunities. A multi-signal scoring algorithm evaluates every topic across 10+ dimensions to find what's worth creating content about.

Workflows

Topic Scorer

10+ signals: demand volume, supply scarcity, outlier detection, momentum, buzz factor, convergence

Tier Classifier

Confidence-weighted classification: GOLD (create now), SILVER (watch), WATCH (monitor)

Trend Analyzer

Cross-references multiple data sources to detect emerging trends before they peak

Live Data

158 tracked topics (30 EN + 30 ES + extras)

525 calendar entries generated

101 content briefs produced

💡 Why demand-supply gap, not just search volume?

Search volume tells you what people want. Supply tells you what already exists. The gap between them is where opportunity lives. A topic with 100K searches and 500 articles is saturated. A topic with 10K searches and 5 articles is gold. This scoring approach surfaces topics that competitors miss.

📋
LAYER 03

Content Strategy

Interactive · human-in-the-loop

AI generates complete content calendars and briefs. I review and approve scripts — this is where human judgment matters most.

Workflows

Calendar Generator

28 video + 28 post entries per week, bilingual, balanced across topics and formats

Brief Writer

Full briefs with hooks, angles, talking points, visual direction, and platform-specific notes

Script Generator

Claude API writes scripts matched to brand voice DNA — tone, vocabulary, sentence structure

Live Data

525 content calendar entries

101 content briefs

Brand voice DNA matching

💡 Why keep script approval manual?

My brand carries my name. Authenticity matters more than velocity. I know this means fewer posts than a fully autonomous system — and I'm okay with that. The approval step takes 2 minutes per script. The alternative is publishing something I wouldn't say, which damages trust permanently. This is a product maturity decision.

📸
LAYER 04

Personal Brand Content Production

Carousels · captions · short-form reels

The original production layer — turning approved briefs into finished social media content. Carousels with CSS/HTML text rendering, platform-optimized captions, and short-form video reels ready for Instagram, LinkedIn, Facebook, and Threads.

Workflows

Carousel Renderer

Custom Remotion compositions → text on image with CSS/HTML → R2 storage. This method was later brought to PhotoAI Advantage.

Caption Generator

Platform-specific captions with hashtag strategies, CTAs, and bilingual variants

Short-Form Reel Renderer

60-second reels via pure FFmpeg pipeline — bypasses Remotion for speed (~60s render time)

Thumbnail Creator

FLUX 1.1 Pro AI generation + custom text overlay for each platform

Live Data

459 media assets produced

452 media library items catalogued

Bilingual EN/ES output

💡 The discovery that changed everything

While building carousel rendering, I discovered that CSS/HTML text-on-image produces better results than burning text into AI images. This method went back to PhotoAI Advantage and became the core of its ad generation engine. But there was a bigger discovery: if I can render a 60-second reel from a script, I can render a 23-minute video. That realization created Layer 04B.

💡 From short-form to long-form — a new capability emerged

The personal brand pipeline solved my immediate problem: publish content without spending hours on it. But while building the short-form reel renderer, I realised the same components — voice synthesis, music generation, scene composition, subtitle rendering — could produce full YouTube episodes. A 60-second reel and a 23-minute video use the same pipeline, just scaled. This wasn't planned. I spotted the opportunity while solving a different problem. That's how I think: every solution I build reveals the next opportunity.

🎬
LAYER 04B

YouTube Video Production Engine

Full episodes · script to publish · custom renderer

A complete video production pipeline that takes an approved script and produces a finished YouTube episode — with AI voices, generated music, B-roll, scene transitions, subtitles, and broadcast-standard audio mastering. No manual editing needed.

Workflows

Scene Breakdown

Script → individual scenes with visual direction, mood, pacing notes

Voice Synthesis

OpenAI TTS per scene + ElevenLabs voice cloning (via Cloudflare Worker proxy). Multi-voice character support.

Music Generator

Stability AI Stable Audio 2.5 → mood-matched to content tone, per-scene or full-episode

B-Roll Matcher

Searches self-growing media library + Pexels/Pixabay for scene-appropriate footage

Video Composer

Custom Remotion renderer: 6 compositions, 31 visual element types, parallelized rendering (73min → 36min)

Audio Mastering

7-stage: narration → voice processing → music bed → sidechain ducking → two-pass loudnorm → dual export. From -58 LUFS to broadcast -15.3 LUFS

Thumbnail Generator

FLUX 1.1 Pro + custom overlay. Designed for YouTube click-through optimization.

Live Data

690 episode clips produced

70 episode scenes rendered

6 AI characters with wardrobes

First full 23-min episode: 16 scenes, 589MB

Selective re-rendering: update 1 scene without re-rendering all

💡 The self-growing media library

Every production adds to the media library. B-roll footage, scene packs, character renders, and audio clips accumulate. By month 5, the system has enough library assets that new productions cost ~70% less in AI generation. Building now makes future content cheaper. This is compounding infrastructure, not just a pipeline.

📢
LAYER 05

Publishing & Distribution

Self-hosted Postiz · 10 channels

Finished content is scheduled and published across all platforms simultaneously. One approval → 10 channels × 2 languages = 20 potential publishing events.

Workflows

Postiz Scheduler

Self-hosted Postiz v2.18.0 → API-driven scheduling and publishing

Platform Optimizer

Format adaptation per platform: aspect ratios, character limits, hashtag strategies

Google Drive Sync

All produced assets backed up to organized Drive library for manual access

Telegram Alerts

Telegram Bot API → real-time notifications for approvals, errors, completions

Live Data

10 social channels connected

5 platforms: Instagram, LinkedIn, Facebook, Threads, YouTube

2 languages: English + Spanish

🎥

Custom Video Production Engine

Not a template tool — a complete production pipeline from script to finished video. Custom Remotion renderer with 20+ API endpoints, 6 video compositions, and 31 visual element types.

🎙️

AI Voice Synthesis

  • OpenAI TTS (per-scene granularity)
  • ElevenLabs voice cloning
  • Whisper word-level timestamps
  • Multi-voice character support

🎵

7-Stage Audio Mastering

  • Narration extraction
  • Voice processing & EQ
  • Music bed generation (Stability AI)
  • Sidechain ducking
  • Two-pass loudnorm (-58 → -15.3 LUFS)
  • Dual export (podcast + video)

🎬

Video Composition

  • 6 Remotion compositions
  • 31 visual element types
  • Parallelized: 73min → 36min
  • Selective re-rendering (update 1 slide)
  • B-roll from self-growing library
  • Subtitle rendering with timing

🎬 First Full Production

First complete 23-minute episode produced end-to-end: 16 scenes, 589MB. Script → voice → music → B-roll → composition → mastering → thumbnail → ready to publish. Short-form videos (reels/shorts) render in ~60 seconds via pure FFmpeg pipeline — bypassing Remotion for speed.

🖥️

Infrastructure — $43/month Total

Two Hetzner servers running Docker containers. Self-hosted everything — no vendor lock-in, full control, fraction of the cost of cloud equivalents. This data is live from the actual servers.

Connecting to live servers...

Why self-hosted instead of cloud services?

💰 Cost

n8n cloud: $50/mo. Self-hosted: $0. Postiz cloud: limited. Self-hosted: unlimited channels. Total cloud equivalent: $200+/mo vs our $43/mo.

🔧 Control

Custom Docker configurations, direct server access for debugging, no API rate limits, full database access. When something breaks at 2am, I SSH in and fix it — no support tickets.

🔒 Data Ownership

All data stays on our servers. Content strategies, AI prompts, brand voice DNA, audience insights — nothing leaves our infrastructure. Full GDPR compliance by default.

View Live System Status & Incident Response Protocol →

Technology Ecosystem

What Powers the Pipeline

Orchestration

n8n26 workflows
CoolifyDeploy manager
TraefikReverse proxy
Docker24 containers

AI Services

Claude APIStrategy & scripts
OpenAITTS + Whisper
ElevenLabsVoice cloning
Stability AIMusic generation
FLUX / fal.aiImage generation
KlingVideo generation

Media Production

Remotion6 compositions
FFmpegAudio mastering
BrowserlessHTML rendering
SatoriJSX → PNG
PexelsB-roll library

Data & Storage

Supabase47 tables · PostgreSQL
Cloudflare R2Media storage
RedisCaching + queues
Google DriveAsset backup

Publishing

Postiz10 channels
InstagramEN + ES
LinkedInEN + ES
YouTubeEN + ES
FacebookEN + ES
ThreadsEN + ES
🔗

How This System Improved PhotoAI Advantage

Building one system always improves the other. Here's what crossed over:

🎨

Text-on-Image Method

While building carousel rendering for this pipeline, I discovered that CSS/HTML text rendering produces better results than burning text into AI images. I brought this method to PhotoAI Advantage — it became the core of the ad generation engine. One discovery → two products improved.

📚

Media Library Concept

The self-growing media library pattern (assets accumulate, costs drop over time) is being designed into PhotoAI's template system. User-generated designs feed back into the template pool. Same compounding infrastructure principle, different application.

🔄

Multi-Provider Resilience

Running 7+ AI providers in this pipeline taught me that providers fail randomly. That experience directly shaped PhotoAI's triple fallback chain (Gemini → OpenAI → static). Production resilience isn't theoretical — I learned it by operating this system daily.

Proof — Live System Screenshots

Real screenshots from production dashboards. URL bars visible. Timestamps verifiable.

n8n Automation Platform

27 workflows — 0% failure rate — 60.58s avg run time

n8n workflow list showing 27 active workflows

Execution log — all green, running every 5 minutes

n8n execution log showing successful runs

WF10 — Production Pipeline (12 nodes)

WF10 Production Pipeline workflow

WF-ShortVideo — Reel Production

Short video production workflow

WF7 — YouTube Comments Collector

YouTube comments collector workflow

WF-VOICE-GEN — Voice Generation

Voice generation workflow

WF-VIDEO-COMPOSE — Video Compositor

Video compositor workflow

WF-MEDIA-INGEST — Media Library

Media library ingestion workflow

Infrastructure

Cloudflare R2 — content-media bucket (25.58 GB)

Cloudflare R2 storage bucket

R2 Storage Metrics — steady growth

R2 storage metrics graph

Hetzner — 2 production servers (EU)

Hetzner server dashboard

Verify It Yourself

These endpoints are public — open them in your browser. Response times change on every refresh.

/api/health/api/infrastructure/status

n8n · Remotion · FFmpeg · Supabase · Cloudflare R2 · Docker · Traefik · Coolify · Postiz · Claude API · OpenAI · ElevenLabs · Stability AI · FLUX · Kling · Pexels · Hetzner