actionable ai
FREE GUIDE · FROM THE AI OPERATOR VAULT
Turn Saved Reels Into A Viral Content Database

Free guide · by Cooper Simson

Turn Saved Reels Into A Viral Content Database

The architecture, the decision framework, and the playbook overview behind the system that flips every Instagram save into a piece of original content. Enough detail for ambitious builders to figure it out themselves. The full prompts + code live in the Actionable AI community.

Get the guide, free

No email required. Use it today.

This is the system behind 0 to 77K followers in 3 months: a pipeline that flips every Instagram save into original content. This is an architecture overview, not a step-by-step build guide. It explains what the components are, why each one exists, and how they fit together, with enough detail for an ambitious builder to rebuild it in a weekend.

What You'll Learn

  • The 3-component architecture (IG saves puller, Notion writer, scheduler): what each does, why each matters, and how they fit together
  • The Notion schema philosophy: the 10 fields that turn raw saves into a strategic intelligence layer at month 6
  • The scheduler logic: when to run, why twice a day, and the idempotent state pattern
  • The "1 save, 5 scripts" workflow: the structural beats Claude follows
  • The DIY skill checklist plus the failure modes you'll hit on the way

Why the overview approach: most setup guides give you a copy-paste prompt that works for 6 weeks until the API changes or the model shifts behavior. Architecture overviews age better. Once you understand WHY each component exists and WHAT each one is responsible for, you can rebuild the system on whatever stack you want (different vision model, different database, different scheduler) and the principles still hold.

The 3-Component Architecture

The system has three components. Each does one thing well. Together they form a pipeline that runs in the background and produces unlimited content ideas every morning before you open your laptop.

Component 1: the IG saves puller. A Python script that authenticates to Instagram and pulls every newly-saved post from a named collection (or the default Saved folder). For each post it extracts the URL, creator handle, full caption, media type (reel / carousel / static), engagement metrics, and the timestamp. The puller uses an unofficial Instagram library, meaning you should run it from a dedicated inspiration account, never your main. Authentication is handled via 2FA and the session persists across runs so you only re-auth when Instagram invalidates the session.

Component 2: the Notion writer. Each pulled post writes one row to a Notion database. The writer dedupes on URL so re-runs never create duplicates. It also computes a derived field, Performance Tier, based on engagement metrics relative to the creator's median. That tier becomes the strategic intelligence layer at month 6. The Notion API integration is straightforward, but property type mismatches are the number one silent failure (see the failure modes section).

Component 3: the scheduler. A scheduled task that fires the puller twice a day at 9 AM and 9 PM. On Mac this is a launchd job. On Windows it's a Scheduled Task. State is persisted in a small JSON file so the scheduler skips already-processed posts. If the machine is off at the trigger time, the catch-up logic fires within a minute of next boot.

How The Components Fit Together

The flow is linear. Scheduler fires the puller. Puller authenticates to Instagram, pulls new saves, extracts metadata for each one. Puller hands the metadata to the writer. Writer dedupes against the existing Notion DB, computes Performance Tier, writes new rows. Writer also updates a state file so the next run skips already-processed posts. End-to-end: 30 to 90 seconds depending on how many new saves you have.

Why three components and not one: you could write this as a single monolithic script. Don't. Each component has its own failure modes (Instagram auth, Notion schema, scheduler timing). Splitting them means when something breaks you know exactly where to look. It also means you can swap any one component (replace Notion with Airtable, launchd with cron, Instagrapi with the official Meta API) without touching the other two.

The Notion Schema Philosophy

The fields you choose at week 1 determine what your content engine can do at month 6. Most people set up this kind of database with 3-4 fields (URL, caption, creator) and miss the compounding value. Here's the 10-field architecture:

  1. URL: the saved post permalink. The deduplication key.
  2. Caption: the full text, kept verbatim. Searchable later for topic clustering.
  3. Creator handle: used for cohort analysis (which creators consistently outperform).
  4. Hook text: first 1-2 sentences extracted as the hook. Lets you filter for hook patterns.
  5. Media type: reel / carousel / static. Different content types respond to different ideation prompts.
  6. Performance tier: derived from engagement relative to creator median. THE field that compounds.
  7. Topic tags: multi-select that you curate over time.
  8. Status: captured / scripted / filmed / posted. Tracks the save through your content pipeline.
  9. Saved at: when you saved it on IG.
  10. Synced at: when the system wrote it to Notion. The delta tells you how fresh your inspiration is.

Why Performance Tier is the field that compounds: the first month you have data, filter the DB to Outlier-tier only. You instantly see what high-performing creators in your niche are doing. After 6 months you have a curated, tagged, performance-ranked dataset of every piece of content you thought was worth saving. That dataset is more valuable than any single day's script generation. It's the corpus that teaches your content engine what works for YOUR audience. Most builders skip this field because it requires inference. Don't skip it.

The Scheduler Logic

Schedule it twice a day. 9 AM captures last night's saves before you start working. 9 PM captures the day's saves before bed. Once a day misses recent saves you haven't acted on yet. Four times a day burns Instagram API calls (and tightens the rate-limit risk) without adding value. Twice is the sweet spot.

The idempotent state pattern: the scheduler must be safe to run more than once. If your laptop sleeps through the 9 AM run and fires at 9:30 AM, then fires again at 9 PM, you don't want duplicates. The pattern: keep a small JSON file of processed URLs. Every puller run reads the file, skips any URL already in it, and appends new URLs at the end. This is roughly 10 lines of code, but it's the difference between a system you trust and a system that creates 5 Notion duplicates every time the trigger misfires.

Catch-up logic is your friend: both launchd (Mac) and Windows Task Scheduler have catch-up flags. Turn them on. If your machine is asleep at 9 AM, the scheduler fires within a minute of next boot. This is why twice-daily works even on a laptop that travels. You don't need 24/7 uptime.

The "1 Save, 5 Scripts" Workflow

This is the part of the system that turns saves into content. Open any saved post row in Notion. Feed the post plus your voice rules into Claude. Get back 5 fully formatted scripts in YOUR voice in 30 seconds. Here are the structural beats the prompt enforces, so you can rebuild it yourself:

  1. Identify the hook framework. Claude reads the saved post and classifies it against a hook library (Patterns A-E: Authority, Outcome+Timeframe, Number+Outcome+Paradox, Tool-Kill, Personal Confession).
  2. Extract the structural beats. Hook, body sections, close, CTA. How many beats. What each does. Where the open loop is.
  3. Diagnose what made the post outperform. Lighting, hook density, payoff specificity, comment magnet. The post-mortem teaches Claude what to preserve.
  4. Apply YOUR voice rules. This is where Claude references your separate voice rules file: your CTA structure, your forbidden phrases, your preferred frameworks.
  5. Generate 5 scripts that adapt the original's structure to your niche, in your voice. Hook + body + close + caption + hashtags. Filming-ready, not "generic ideas about [topic]."

The prompt is not the hard part. Anyone can write a "give me 5 scripts based on this" prompt in 5 minutes. The hard part is the voice rules file Claude references. That file is what makes the output sound like YOU and not like a generic AI script. It's where you encode things like "no em dashes," "always end with this CTA pattern," "I never use these 10 words," "my hook frameworks are A-E." The more specific the rules, the more YOUR voice the output.

The DIY Skill Checklist

If you want to build this yourself in a weekend, here's what you need:

  • Python 3.10+ (any reasonably modern Mac or Windows)
  • Comfort reading and modifying Python (not writing from scratch)
  • A Notion workspace plus integration token (free tier works)
  • A dedicated Instagram inspiration account with 2FA
  • Claude Code or Codex installed
  • Familiarity with cron / launchd / Windows Task Scheduler
  • Willingness to debug auth flows when Instagram invalidates your session
  • Roughly 4-8 hours of build plus debug time

Decisions you'll make: which Instagram library to use (Instagrapi is the de-facto choice but unofficial). Which Notion property type maps to your performance tier (select vs multi-select, this one bites people). Which times to schedule. Whether to add Claude analysis to the puller (heavier, slower, more accurate tagging) vs running the no-analyze mode (lighter, faster, manual tagging). Whether to fork the saves DB into per-topic sub-DBs or keep one master with topic tags.

Failure Modes You'll Hit

Instagram LOGIN_REQUIRED or 403 on collections. IG invalidated your session. The fix is interactive re-auth with 2FA. This happens roughly once every 2-4 weeks on a dedicated inspiration account, more often on your main (don't use your main). Build a re-auth flow that detects the error, wipes the session file, and prompts for the TOTP code.

Notion 400 validation_error. Your write code is sending a property type that doesn't match the database schema. Most common: code says multi_select but the DB property is select. Open the DB in Notion, check the actual property types, update your write code. If you copy the schema above you'll avoid most of these.

Scheduler didn't run at 9 AM. Mac: laptop was asleep AND the catch-up flag was off. Fix by turning on StartCalendarInterval plus RunAtLoad in launchd. Windows: check Task Scheduler history for the run. A failed last-result of 0x1 usually means the path to the bat file is wrong or Python isn't in PATH for the SYSTEM user. Use absolute paths everywhere.

Claude generated generic scripts that don't sound like you. Your voice rules file is either missing or too generic. Most people skip this step and wonder why the output sounds generic. A good voice rules file runs hundreds of lines and takes weeks of iteration to dial in.

The Bigger Play

The headline framing is "turn IG saves into content." The actual play is bigger. After 6 months of running this, your saves DB becomes a structured training corpus for your content engine. Every piece of content you thought was worth saving: tagged, ranked, dated, attributed. That corpus teaches your content engine what works for YOUR audience, which feeds back into the voice rules file, which feeds back into better scripts. The system gets smarter the longer you run it.

Content ideation used to be "what should I make today?" Then it became "what tool generates ideas for me?" Now it is "what does my pipeline already know about the content I think is interesting?" The third question is the one operators are starting to ask. The first two are saturated. Build for the third.

Go Deeper

Prefer a printable version? Grab the PDF: https://drive.google.com/file/d/1wXn4RfjOLJGHbCfvLMXrD2NMnXD-3D2I/view?usp=drivesdk

Want the whole system installed live, with Cooper on the call? Build Your Own AI, the two week sprint runs the first two weeks of August.

Or get a new working tool every Monday inside The AI Operator community on Whop.

The honest part

The guides are free. The working agents are $97.

Cooper has published 125+ guides like this one, free, no email gate. The step after reading is running the actual systems: five working agents, including the content engine behind his 10M+ views, plus your first month inside The AI Operator community, a new working tool every Monday.

Want it built with you, live? Build Your Own AI · $1,997 · live Aug 3