identity · avatar · rails
This build spec is held behind a passcode.
A developer roadmap for an automated Instagram machine: AI-avatar reels sourced from proven ideas, DM funnels that capture leads, and an analytics loop that makes every week smarter than the last.
Five stages, each with a machine behind it. Every number on this slide comes from the course — and becomes a metric the engine tracks.
Proven ideas, avatar-produced, published daily-ish.
3-line bio, one link. The page that earns the follow.
Dream-follower audience — broad, never ICP-narrow.
Comment a keyword → lead magnet → email → CRM.
Human closes the conversations the machine opens.
The course is the spec. Every module maps to a component — nothing taught is dropped, nothing built is invented from scratch.
Ships with this deck: COURSE-SPEC.md — every rule, template, benchmark and checklist from the course, distilled and machine-readable. The deck plans the build; the spec fills the prompts.
Course rules, encoded as automated checks. Every card is a hard, testable gate in the pipeline — not advice.
Watch time → shares → saves → comments → likes. 2026–27: shares lead. Gate: "would you send this to a friend?"
Every script and caption at 5th–6th-grade level. Simple travels; complexity is a distribution bug.
An idea is proven only at 5×+ the creator's own average. An idea = topic + format — never one without the other.
Visual + spoken + on-screen text, all taken from the proven outlier. One layer missing = weak hook.
Follow, comment a keyword, or share. Two next steps confuse; the QA lint hard-fails a second CTA.
A second hook, emoji counted. Caption CTA must match the video's CTA exactly — same keyword, same offer.
Expected follows per non-follower view. Below 0.1% = value alarm: watched, but no reason to follow.
70–80% new tests, 20–30% repurposed winners — enforced by the scheduler. Niche consistency on every post.
Nightly scrape of 30–50 niche creators (few k–500k). Score = views ÷ their average. Keep ≥5×.
Claude filters: dream-follower fit, education value, reproducible format. Monday: human approves in one tap.
Keep the outlier's hook + structure, swap value + CTA, your voice. QA lints before approval.
HeyGen digital twin + ElevenLabs voice, 9:16, burned captions. Human previews every video.
Graph API: reels, trial reels, stories. Caption composer, cover pick, original quality, cadence 4–5/wk.
ManyChat: comment keyword → magnet → email → HubSpot. Keywords synced from the script factory.
Nightly insights via API + weekly app screenshots (retention curve, follower split) parsed by vision.
≥5× winners → 8–15 planned videos, duplicates first. Losers → diagnosed, fixed, retried.
The radar found it overnight; both judges passed it. It's waiting in your Monday digest.
One tap in Telegram. The hook and structure came from the outlier; the value and CTA are yours.
Thirty-seven minutes from approval to a finished, previewed reel. No editor, no timeline.
Same CTA in video and caption, keyword pre-cleared in the registry — nothing can mismatch.
The funnel ran itself while you slept. You only stepped in for the two hot conversations.
Friday's report turns this reel into next month's calendar — and re-weights what the radar hunts for.
Numbers are illustrative; the artifacts, checks and timings are exactly what the engine produces at each station.
API posts stories but no polls/stickers. Hook slide with poll → human posts in-app; rest auto-publishes.
Curve + per-reel follower split are app-only. Weekly screenshot drop → vision model parses both.
Bio/name not editable via API. Engine generates a one-tap copy pack; human pastes once.
Meta requires labeling photorealistic AI content. We disclose, keep C2PA metadata — labels don't cut reach; penalties do.
Progressive: every phase leaves a working tool even if we stop there. Iterative: the account goes live in week 3 — the engine upgrades around a running channel.
Niche (problem ∩ enjoy ∩ paid), Expert-vs-Documenter flag, 10-question ICP, dream-follower profile, voice + banned phrases, offer + lead magnets. One JSON, consumed by every downstream prompt.
Clean username candidates, name field ≤64 chars (Name | What + Keywords), 3-line bio (hook / proof / verb-first CTA, ≤35 chars each), one branded short link. API can't edit profiles — ships as a one-tap copy panel.
2 min of footage + consent video → HeyGen digital twin. ElevenLabs professional voice clone (30+ min audio) plugged into HeyGen. AI-disclosure setting decided and recorded.
IG professional account, Meta app with publish + insights permissions — review filed day 1, advanced access has lead time. ManyChat connected, n8n on the existing VPS, Airtable base, Telegram approval bot.
30–50 niche creators, few k – 500k followers only — fame contaminates the signal. Rolling baseline per creator: median views of last ~20 posts, refreshed weekly.
Nightly scrape → score = views ÷ creator average. Keep ≥5× only — raw view counts are a trap. Capture the full idea: topic + format + all 3 hook layers.
Claude judges every outlier: dream-follower fit? Real education value — entertainment inflates views, not clients. Avatar-reproducible format? High-production formats auto-rejected — right topic, wrong idea.
Idea cards in Airtable: topic, format, hook, score, source link, pillar, funnel stage. Monday Telegram digest — approve or kill each card in one tap.
Download the source reel → Whisper transcript, OCR the text hook, grab the opening frame. Claude labels every line against the CCC structure: hook / sell / principle / applicable / CTA.
Keep the outlier's hook + structure (its structure overrides the blueprint), swap in your value + CTA, written in Brand-Bible voice with all five sell-the-solution levers: proof, FOMO, hype, novelty, reassurance.
Readability ≤ grade 6 · duration ≈ outlier ±10% · exactly 1 CTA · shareability judge ("send to a friend?") · keyword unique across all live automations. Fail = regenerate, never publish.
First line ≤36 chars echoing the hook (emoji counted as rendered). CTA copied from the script exactly — same keyword, same offer. Spaced middle weaving the script's key terms. No heavy caption SEO — the algorithm reads the video.
Script JSON → HeyGen digital twin, 1080×1920, ElevenLabs voice. Webhook on completion, automatic retries, and a cost meter that alerts at 80% of the monthly render budget.
HeyGen's styled captions + SRT first (ZapCap later only if needed). Text-hook overlay on the first 3 seconds. Cover = a clean on-screen-text frame from the video — never a custom cover.
The same script rendered as two real videos differing in one variable — the avatar's camera angle — everything else identical, for clean trial A/Bs. Never the same file re-uploaded: duplicates get zero push.
Finished files land on Drive/S3, tied to the Airtable card. Telegram preview: approve → eligible to schedule; reject with a note → automatic re-render with the fix.
Graph API v26: reels at 4–5/wk, original quality preserved. Trial A/B pairs via trial_params past 1k followers — posted together, identical metadata, frozen 48 h; the composite winner graduates, the loser stays parked. Stories publish sticker-less; poll slides go in-app.
ManyChat, cloned from the course's templates: keyword → magnet, or opt-in tap → email (consent on) → HubSpot. One automation per lead magnet — any-post trigger, no per-reel builds. 4–5 rotating replies; retry ≤3.
5-slide lead-gen packs from winning reels: hook + poll → insight → proof (real, human-verified) → resource → keyword CTA. Slide QA: readable in <1 s, one message, real context + movement. Slide 1 posted in-app with its poll.
Every link tagged content_source per placement — bio, DM, story. Leads land in HubSpot knowing which reel or sequence produced them; booked calls close the loop.
Nightly per-reel insights via API: views, reach, watch time, shares, saves. Weekly app-screenshot drop for what the API can't give — retention curve + follower split — parsed by a vision model.
Four retention shapes → prescribed fix: instant drop = rework all 3 hook layers · fades = cut filler · mid-video cliff = reshoot that one line · CTA drop = swap the CTA. Conversion vs the 0.1–1% band.
≥5× the rolling average (outliers excluded) → 8–15 videos per winner: 1–2 duplicates first, 3–5 hook, 2–3 format, 2–3 topic variants — one variable at a time. Scheduler enforces the 70/30 mix.
Telegram digest: winners, diagnoses, next week's plan. Winning hooks, formats and topics up-weight the ideation prompts — station 08 literally rewrites station 02.
One record per piece of content, from idea to learning. The row is the API between phases — each phase reads the fields before it, writes its own.
Build vs buy: 2026's SaaS engines generate and post — none combine outlier research, DM funnels and human approval gates. The glue is the moat.
Every component lands with its own proof.
The course's own method — Post → Analyze → Improve — run on schedule.
Keep the machine calibrated, cheap, and patient.
Gates measure the machine first, the audience second — growth is exponential, not linear, and the early flat zone is expected.
Each comes with a default so kickoff is a confirmation, not a workshop. Correct me where the defaults are wrong.
One hour a week of your judgment. The engine does the rest — and gets smarter every Friday.
Built on the course's system, verified against August 2026 platform capabilities.