A Notion library where you find a save by typing a word, with the prompt, the tool or the steps already extracted.
What you need
- A Mac, Apple Silicon or Intel.
- Python 3.11 or newer (3.13 recommended) and Homebrew.
- A Notion account: the free one is enough.
- An Instagram account with saved posts.
- For full mode: 30 GB free and 16 GB of memory recommended.
Part 01 / 05
What it does
- It fetches your saved posts, all of them or only the collections you choose.
- It sorts them into categories made for you. In full mode, on the first pass, a local model reads a sample of your saves and creates 6 to 10 categories that fit what you keep.
- It reads the media when the value isn't in the caption: the text on carousel slides, the audio of a reel, the on-screen text.
- It extracts the useful part: the prompt to copy, the name and link of a tool, the steps of a workflow.
- It writes everything into two Notion databases, Instagram Saves and Content Ideas, which a script creates for you.
And three bonuses: it picks up the links you share from your iPhone, spots the themes that keep coming back in your catch-all, and builds an offline index you query from the command line.
Part 02 / 05
Two ways to run it
| Mode | What it does | How heavy it is |
|---|---|---|
| Full | Local models really read your images and your reels. Categories are created for you. | About 26 GB of models, 30 GB free |
| Light | No model, no reading of the media. It fetches your saves and sorts them by keywords, into generic categories. | Almost nothing |
Not sure? Start with light. You can switch to full later without breaking anything.
Part 03 / 05
Installing it
The script does most of the work. The README (new tab) guides you at every step, even if you have never opened a terminal.
- Step 3.1: Get the project and run the installation (command 1). For light mode:
./install.sh --light. - Step 3.2: Create an integration at
notion.so/my-integrations, paste its token and the address of a Notion page intoconfig.json. - Step 3.3: Create the two Notion databases (command 2).
- Step 3.4: Connect Instagram, just once (command 3). Your username and password go into the macOS Keychain, never into a file.
- Step 3.5: Run the first pass (command 4).
git clone https://github.com/vousyetes/insta-save-engine.git cd insta-save-engine ./install.sh
.venv/bin/python setup_notion.py
.venv/bin/python setup_auth.py
.venv/bin/python sync.py .venv/bin/python ideate.py .venv/bin/python extract.py --enrich --limit 100
Plan BIf you get stuck
The Notion script complaining? Almost always, the page isn't shared with your integration: the ••• menu of the page, Connections, add it. In light mode, stop after ideate.py: extract.py needs the models.
Part 04 / 05
What leaves your Mac
The models run on your Mac: Ollama to read and sort, whisper for the audio. What leaves: the connection to Instagram to fetch your saves, and the writing into your own Notion database. Nothing else.
Want it to run on its own? The installation prepares a macOS task that runs the fetch at 9 am and 9 pm. It is optional, and it only runs the fetch.
Part 05 / 05
Get the news
An email when there is something new. No sequence, no pitch, you unsubscribe in one click. It is the same list as for the rest of the site: you won't get the same email twice.