What I BuildResultsAboutBlogServicesBook a Call
← Back to blog
2026-04-15AIContent ProductionSystems

The Content Engine That Researches Itself

I built a system that scrapes 22 competitors, pulls my own analytics, picks winning hooks from real data, and tells me what to film every morning. Here's the data behind it.

By Matty Cartwright · @themattycartwright · mattycartwright.com

10-minute read · April 2026

You film a video. You check the numbers. You try to remember what worked last time. You scroll through competitors looking for ideas. You guess at a hook. You film another video. You check the numbers again.

Most of that loop happens in your head. The research is vibes. The hook selection is gut feel. The performance review is "that one did pretty well I think."

I built a system that runs the whole loop for me. It scrapes real data, picks topics backed by real numbers, tells me exactly what to film, posts everywhere, and pulls the results back in so tomorrow is smarter than today.

Here's how each piece works, with the actual data from my database.

The loop

01
SCRAPE
Pull competitor videos, transcribe, extract hooks
02
ANALYZE
Score hooks, rank formats, find outliers
03
FILM
Pick today's topic, get hooks, press record
04
POST
Publish to 6 platforms, pull metrics back in
Step 4 feeds step 1. The loop runs every day.

Every stage feeds the next. The analysis reads last week's data. The hook selection pulls from the analysis database. The metrics feed tomorrow's research. Remove one piece and the loop breaks.

Seven commands power the whole thing. Each one is a single line typed into a terminal.

/scrape-competitors
Scrape + transcribe + analyze competitor videos
/ig-pull
Pull my own Instagram analytics into the database
/competitor-analyst
Analyze what's working for competitors vs. me
/content-analyst
Analyze my own content performance
/film-today
Show me what to film today, ranked by viral potential
/video-hooks
Generate 10 hooks from 201 proven templates
/post-content
Transcribe, generate captions, publish to Instagram + TikTok + YouTube + X + Threads + LinkedIn

Step 1: Scrape the competition

/scrape-competitors is the foundation. It goes out and grabs everything a competitor has posted, rips it apart, and stores every piece in a database.

For each competitor, it:

Scrapes their recent posts
Via Apify web scraper, not the Instagram API (which limits what you can see)
Downloads every video
Full video files stored locally for processing
Transcribes the audio
OpenAI Whisper turns spoken words into searchable text
Extracts the hook
Both the spoken hook and the on-screen text hook, classified by structure
Runs visual analysis
Google Gemini classifies the format (talking head, screen recording, b-roll, vlog) and analyzes framing, motion, text overlays
Calculates an outlier score
Views / that creator's 90-day average. A score above 2x = the video broke out of their normal range.

Every field goes into a Supabase database. The same database my own content lives in. So when the system looks for "hooks that worked on AI tool videos," it pulls from 700+ competitor videos and my own history at the same time.

What the database captures for each video

Content
Full transcript, caption, post date, URL, thumbnail
Hooks
Spoken hook, text hook, hook framework, hook structure
Visuals
Visual format, graphic elements, motion patterns, layout
Metrics
Views, likes, comments, shares, saves, engagement rate
Scoring
Outlier score, outlier category, views-to-follower ratio
Audio
Audio hook structure, tone, pacing, emphasis patterns

Step 2: Pull my own data

/ig-pull runs daily and grabs fresh metrics for every Instagram Reel I've posted. It hits the Zernio analytics API, enriches each post with per-video metrics (views, impressions, reach, likes, comments, shares, saves, clicks, engagement rate), deduplicates against existing rows, and upserts everything into Supabase.

The database also takes daily snapshots. So I can see how a video performed on day 1 vs. day 7 vs. day 30. If a video spikes on day 12, I know the algorithm picked it up late.

My dashboard right now

48
Videos
6,759
Avg Views
324K
Total Views
8.3%
Outlier Rate
127,930
Best Video
4
Outliers
10,502
Apr Avg
3,061
Mar Avg

April is 3.4x March on a per-video basis. The system doesn't lie about where I stand. It shows me the gap and shows me exactly how to close it.

Step 3: Analyze the competition

/competitor-analyst queries the database and builds a full competitive intelligence report. Here's what it showed me this week.

The leaderboard: 22 competitors, ranked by average views

rpn
751K
buildwithcormac
263K
softgirlnocode
221K
jade.got.curious
183K
buildwithcody
173K
jens.heitmann
103K
raycfu
80K
angus.sewell
79K
... 14 more
10K-75K
6,759

That green bar at the bottom is me. April pushed me from 3,781 avg to 6,759 avg. Still a gap. But the system doesn't care about my ego. It shows me the distance and shows me exactly which hooks, formats, and topics are closing it for the people above me.

The hooks that broke out

The system finds "outlier" videos: posts that performed way above a creator's normal range. These are the signals. A creator who averages 50K views suddenly hitting 1.4M means the hook, topic, or format did something different. The system captures exactly what.

@buildwithcormac
10.2x outlier1.5M views
It's so over, about to retire.
bold_claimvlogAI tool setup
@jade.got.curious
12.5x outlier1.4M views
The fastest way to kill your story explaining 60 seconds
curiosity_gaptalking_headstorytelling
@sabrina_ramonov
61.2x outlier1.2M views
What happens if you ask ChatGPT to make you as much money as possible?
curiosity_gaptalking_headAI money-making
@buildwithcody
7.6x outlier1.2M views
Ladies and gentlemen, we're about to become millionaires.
bold_claimvlogAI setup for profit
@softgirlnocode
6.8x outlier1.0M views
If I were Monkey Punch's branding team, this is what I would design
curiosity_gapmixedbranding design

The pattern across all five breakouts: short, bold opening line. No setup. No "hey guys." The hook IS the first sentence and it either makes a wild claim or opens a gap the viewer has to close.

Step 4: Analyze my own content

/content-analyst runs the same analysis on my videos. It breaks down what's working and what's not, with specifics.

How my videos break down

Outlier Categories
Viral
2
Hit
2
Average
11
Below
33
Hook Framework Performance
question
33,472
bold_claim
5,994
curiosity
2,718
direct
873

33 of 48 videos are below average. Four broke out. The system surfaced something I didn't expect: question hooks average 33,472 views (my 127K viral used one). bold_claim is still the workhorse at 5,994 avg with 3 outliers. direct_address is a dead zone: 7 videos, 873 avg, zero outliers.

The difference between my best and worst hook framework is 38x. Same face. Same camera. Same topics. The first three seconds decide everything.

My top 5 videos with what the system captured

127,930 views 19.9x VIRAL
If you had to go from zero to a million dollars in six months, how would you do it?
question / talking_head / social media growth
56,522 views 8.8x VIRAL
Claude literally just killed social media managers.
bold_claim / mixed / social media management
21,295 views 3.3x HIT
You're never gonna believe this, but I just gained 500 followers in the last three days...
bold_claim / mixed / social media growth
17,588 views 2.7x HIT
The fastest way to kill your story explained in 60 seconds
bold_claim / talking_head / storytelling tips
8,795 views 1.4x AVG
AI is literally ruining my life.
bold_claim / talking_head / AI and Work

Step 5: Film today

/film-today is the morning command. It pulls competitor viral hooks (verbatim), checks for breaking AI news worth demoing, shows my existing queue, and presents everything ranked by viral potential with ready-to-film cards.

The output looks like a menu. I pick what sounds fun. The system writes a filming card with 3-4 beats: the hook, the setup, the demo, the payoff. Each beat has a talking point and a screen direction. I read it, set up my screen, and press record.

terminal
$ /film-today

Pulling competitor outliers from last 7 days...
Checking breaking AI news...
Loading your content queue...

★ TOP 3 FILMING CARDS FOR TODAY

1. CLAUDE CODE SKILLS
Competitor @rpn hit 334K with "Everybody is
talking about Claude Code but I'm surprised at
how little people are using Claude Skills."
Viral potential: HIGH (you use skills daily)

2. AI BRANDING DEMO
Competitor @softgirlnocode hit 1M with
"If I were [brand]'s branding team, this
is what I would design"
Viral potential: HIGH (demo-able, broad TAM)

3. STORYTELLING FORMULA
Your own #2 video hit 17.5K with
"The fastest way to kill your story"
Viral potential: MED (proven hook, different angle)

Pick a number to generate filming card ▶

I pick one. The system writes a filming card. I film it. The whole decision-making process takes about 2 minutes.

Step 6: Generate hooks

/video-hooks is for when I have a topic but need the opening line. It draws from 201 proven hook templates and generates 10 options, each adapted to my specific topic.

The templates are structural patterns extracted from viral videos. "You won't believe what happens when [X]" is a template. "I tested [X] for [time] and here's what happened" is another. The system fills in the blanks with my topic and ranks them by which template structures have historically performed best.

terminal
$ /video-hooks "Claude Code skills nobody uses"

10 HOOKS (4 sentences each)

1. BOLD CLAIM
"90% of Claude Code users are ignoring the
most powerful feature it has."

2. CURIOSITY GAP
"I found a Claude Code feature that saved me
4 hours yesterday and I've never seen anyone
talk about it."

3. CONTRARIAN
"Everyone is using Claude Code wrong."

... 7 more hooks

Step 7: Post everywhere

/post-content handles publishing. I drop a finished video into a Dropbox folder. The system picks it up, transcribes it, generates platform-specific captions, and publishes to all six platforms through the Zernio API in one call.

🎬
finished-video.mp4
Dropbox /Content/ready/
/post-contenttranscribe + caption + publish
📸
Instagram
caption + #tags
🎵
TikTok
short caption
YouTube
title < 100ch
𝕏
X / Twitter
one-liner
💬
Threads
conversational
💼
LinkedIn
professional

Once it's posted, /ig-pull grabs the metrics the next day. The loop closes. Tomorrow's /competitor-analyst and /content-analyst runs will include today's video. Tomorrow's /film-today will know what worked and what didn't.

The insight that changed everything

I used to think content strategy was about creativity. Pick a topic that feels right. Write a hook that sounds good. Film it the way you want to film it.

The data tells a different story.

What the data showed me
Question hooks are the new cheat code

My question hooks average 33,472 views. My direct_address hooks average 873. Same face, same camera. 38x difference from the first three seconds. My 127K viral was a question hook. I almost didn't try the format.

Same hook, 15x difference from format alone

I posted "Claude literally just killed social media managers" twice. Mixed format (face + screen recording) = 56K views. Talking head only = 3.8K views. The demo is the variable. Show the receipts on screen.

Tighter timeframes beat bigger numbers

"500 followers in 3 days" got 21K views. "1,000 followers in a week" got 3.8K. The smaller, faster claim felt more believable and more urgent. The system caught that pattern across multiple videos.

That's the point. The system doesn't make creative decisions for me. It narrows the options using real numbers. I still pick the topic. I still choose the hook. I still decide when a script sounds like me and when it sounds like a robot. The system handles the research and logistics. I handle the taste.

The stack

🧠
Claude Code
Runs everything
🔍
Apify
Scrapes competitor content
📊
Supabase
Stores every video + score
🎧
OpenAI Whisper
Transcribes audio to text
👁
Google Gemini
Visual analysis per video
🚀
Zernio API
Posts to 6 platforms

Try it

I wrote a full setup guide for building this system from scratch: How to Build an AI Content Engine with Claude Code. It walks through every step, from installing Claude Code to running your first session. No coding experience needed.

If you want to see the system in action, I post the output every day on Instagram and TikTok.

Want me to build something like this for you?

I design and build custom AI workflows for creators and businesses. Let's talk about what you need.

Book a Call