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