00

System Overview

Step 1
Topics Bank
48 topics / 3 pillars
Step 2
Weekly Ranker
Auto Monday 9pm
Step 3
Slack Brief
Top 10 + enriched
Step 4
Pick 3–5
Akash selects
Step 5
Generator
GPT-4o carousel
Step 6
Post + ManyChat
Comment → DM
Zero manual research. Monday brief arrives in Slack automatically. Akash picks topics, runs batch_runner.py, produces the reels. System handles everything else.
01

Content Pillars

Every carousel and reel must map to one of three pillars. P2 gets the highest ranking priority — most direct revenue signal.

P1
AI Content Creation
How to generate more leads

Ranker priority: +2
Topics: 16
AI carousels, content systems, hooks, reels, green screen, consistency
P2
AI Lead Capture / Transfer
How to book more quotes

Ranker priority: +3 ★ highest
Topics: 16
AI Messenger, ManyChat, pre-qualification, shared leads, guarantee, booked appointments
P3
AI Data / Analytics
How to dominate your market

Ranker priority: +2
Topics: 16
Super Pixel, $14M data moat, attribution, CPL vs CPQBC, LTV targeting, market intel

Proof Points (rotate across pillars)

ClientResultBest for
Riley47x ROIP2 lead capture stories
Ashley$717K closed revenueP1 authority building
Valerie$676K + 300+ appts / 90 daysP2 volume stories
Thrasher Crawl Space$360K quarterP3 data / scale stories
TWF$45K in 30 days from Messenger aloneP2 speed stories
02

Topics Bank

Single source of truth for all carousel and reel topics. 48 rows, versioned and scored.

File: Projects/StPierre/carousel-production/topics_bank.csv

ColumnPurposeValues
idUnique topic ID1–48
pillar_codeMaps to P1/P2/P3P1, P2, P3
topicFull topic string fed to generator
hook_angleDefault hook framingPlatform reveal, Data reveal, etc.
featured_resultProof point to anchor the carouselRiley 47x ROI, Ashley $717K, etc.
keywordManyChat comment trigger (ALL CAPS)AICAROUSEL, MESSENGER, etc.
nicheTarget niche for this topiccrawl space, waterproofing, both
statusLifecycle stagepending, done, winner
scoreRanker output (max 14 before multiplier)Float
ranking_notesScore breakdown per dimensionproof=2|pillar=3|brain=1|age=1
Status = winner applies a ×2 multiplier in the ranker — use it for topics that performed well to resurface them with variation.
03

Weekly Ranker

Scores all pending topics across 6 dimensions. Writes scores back to CSV. Returns top 10 + reserve 5 with diversity cap.

File: ranker.py · Run: python ranker.py or auto via weekly_brief.py

Scoring Dimensions (max 14 before multiplier)

DimensionPointsLogic
Proof strength+2featured_result contains real $, %, or x figure
Pillar priorityP2=+3, P1/P3=+2P2 highest — most direct revenue signal
Brain match>0.75 sim=+3 · >0.5=+1Semantic search vs video_notes — content you've studied
Winner multiplier×2Applied to entire score if status = 'winner'
Age bonus+1Pending > 14 days without being ranked
Recency penalty−2Same pillar produced in last 7 days

Diversity Cap

Max 2 topics per pillar in the top 10. Prevents the brief from being dominated by a single pillar.

Run python ranker.py --dry-run to preview scores without writing to CSV. Brain semantic search is skipped in dry-run (fast mode).
04

Weekly Creative Brief

Auto-generated every Monday at 9pm ET. Posts to Slack #akash-notes. Pick 3–5 topics, run batch_runner.

File: weekly_brief.py · Schedule: Monday 9pm ET

Per-Topic Enrichment (GPT-4o-mini)

FieldWhat it generatesToken budget
Hook angleSharper, more specific hook than the CSV default (≤8 words)50
Contrarian takeChallenge the obvious angle — founder who's seen 1000s of contractor accounts120
Pattern connectionBest-matching insight from brain.video_notes via semantic search
Slide 1 draft60-char max opening line, scroll-stopping, no emojis30
Output: Slack brief + outputs/creative_brief_YYYY-MM-DD.md saved locally. Zero research required Tuesday morning.
06

Reel Format — @angus.sewell Model

Canonical video style for all St. Pierre AI reels. No exceptions. If it reads like LinkedIn, rewrite it.

Format Spec

Setup
Talking head, selfie cam, home office. No music, no b-roll, no captions.
Length
60–90 seconds max.
Scroll-stop
Bold contrarian text overlay written before the script. This does the heavy lifting.
Hook
"You might be like me where you [exact pain]…" — audience identification first.
Cred frame
"I manage ads for X home service businesses — here's what I'm actually seeing…"
Body
Numbered list. Each point gets a bold title-card text overlay. Feels like a masterclass, costs zero production.
Close
Casual sign-off. No hard CTA. "Good luck, my dudes" energy.
Voice
Casual, contractions, occasional profanity. Direct. Zero polish theater. Short punchy sentences.

Never Do

  • Start with "Hey guys"
  • End with "smash that like button" or any engagement beg
  • Use music or b-roll (pure talking head only)
  • Over-explain — trust the audience to keep up
  • Sound scripted — read aloud test mandatory
07

Infrastructure

generator.py
Single carousel generator. Calls GPT-4o via brain.ask(). Saves JSON to outputs/. Marks topic done in CSV.
Production core
batch_runner.py
Queue processor. Run with --topic-ids 1 5 12 after picking from the brief. Processes in sequence.
Production core
ranker.py
6-dimension scoring engine. Writes scores back to CSV. Brain semantic search for +1/+3 boost. Dry-run skips brain.
Ideation
weekly_brief.py
Enriches top 10 with GPT-4o-mini. Posts to Slack #akash-notes. Saves markdown locally. Monday 9pm ET auto.
Ideation · Scheduled
topics_bank.csv
48 topics. 3 pillars × 16 topics. All scored weekly. Source of truth for all carousel/reel production.
Data
yt_discovery.py
Auto YouTube search → transcript → brain.video_notes. Currently DISABLED. Manual links only — drop in youtube-summarizer.
Brain input · Disabled

AI Models Used

TaskModelWhy
Carousel copy (8 slides)GPT-4oFull context, best instruction-following for structured JSON
Brief enrichment (hook / contrarian / slide 1)GPT-4o-miniFast, cheap — 30–120 token outputs per call
Brain pattern matchingpgvectorSemantic search over brain.video_notes

brain.video_notes — Knowledge Base

Transcripts and summaries from manually-submitted YouTube videos feed the ranker's brain match score. Richer brain = more differentiated topic scoring. Add new videos via youtube-summarizer skill in Claude.

Current brain state: 71 videos ingested. Most are AI tools / Claude automation — limited crawl space-specific content. Watchlist v2 targets contractor FB ads, Messenger lead gen, appointment funnels, and high-ticket home service content.
08

Distribution Funnel

Every carousel and reel feeds this funnel. The CTA on every Slide 8 drives a comment. ManyChat handles the rest.

1
Instagram Reel or Carousel
60–90s reel or 8-slide carousel. Slide 8 / close = "comment KEYWORD"
2
Comment Trigger → ManyChat Auto-DM
Viewer comments the keyword (ALL CAPS). ManyChat fires within seconds.
3
Lead Magnet Delivered
PDF delivered in DM. Rotates by calendar week.
W1: Ad Audit PDF · W2: GHL Client Snapshot · W6: GHL Sales Snapshot
4
DM Conversation → Warm Qualification
ManyChat qualifies niche + revenue. Akash closes warm convos manually.
5
Booked Call
Qualified lead books directly from DM conversation.
6
Close at $6,500
Main offer: $6,500 / 6 weeks / 40 leads / 5-job guarantee. Downsell: $4,500 / 30 leads / 3-job guarantee.
ICP: $1M+/yr revenue · gross margin 55%+ · avg job $7,500+

Content → Revenue Timeline

PhaseWeeksFocusExpected closes
WarmingW20–W25Content streak, brand building, warm DM convos0 — funnel not warm yet
Pipeline seedingW25–W28First qualified leads in DM pipeline1–2 prospects
First closesW26+Akash closes from warm pipeline1–2 closes/mo target
5 clientsBy W52Compound — each client = case study = more proof5 by Dec 1, 2026
09

Weekly Cadence

DayContent ActionSystem Action
Mon (Creative day)Review brief, pick 3–5 topics, plan week's reelsWeekly brief auto-posts to #akash-notes at 9pm
TueRun batch_runner, review carousel JSON outputsRanker scores written to topics_bank.csv
Wed–ThuFilm reels (green screen or selfie cam)
FriEdit + schedule posts. Set ManyChat keywords.
DailyReply to warm DMs, move convos toward call
Thu (auto)Drop YouTube links for transcript ingestionyt_discovery scheduled (disabled — manual only)
Monday is Creative day in the themed-day OS. Brief arrives Sunday night. Deep work 7:20–10:30am = content planning + batch production. Ops starts 10:30am.
10

Content KPIs

Streak target
90d
by Aug 1, 2026
Reels / week
3–5
from batch_runner
Lead magnets
3
W1, W2, W6
Target closes
5
by Dec 1, 2026
Warm convos
W25+
pipeline seeds
Topics banked
48
16 per pillar

What "Working" Looks Like

  • Monday brief in Slack every week without fail
  • 3–5 carousel JSONs generated per week
  • Every post has a keyword CTA → ManyChat wired
  • At least 1 new video ingested to brain.video_notes per week
  • Warm DM convos increasing week-over-week by W24
  • Producing content without a ManyChat keyword wired (no conversion path)
  • Going off-pillar (P1/P2/P3 only — no lifestyle, no EyeFly ops content)
  • Skipping the brief — manual topic selection defeats the ranker system