InstaGallery

A private, self-hosted archive for organizing Instagram saved posts

Type
Self-hosted web app
Role
Solo project
Runs on
My Mac, reached over Tailscale

Instagram's "Saved" tab is one long, slow list, and I kept losing recipes in it. So I built a tool that copies my 1000+ saved posts (images, video and captions) onto my own computer and gives me a quick, searchable gallery for sorting them.

It runs entirely on my Mac with no cloud service. My iPad reaches it through a private Tailscale network, so I can pull up a recipe in the kitchen.

Getting the actual content

Instagram's official data export only includes links, not the posts themselves. I built an ingest pipeline on instaloader that downloads the real media and captions.

Instagram's bot detection blocks normal scripted logins, so the pipeline signs in with the session from my regular browser instead. New saves are merged into a SQLite database, and a one-click "Refresh" in the app runs the whole pipeline in the background.

Organizing

Posts go into two-level categories, like food → pasta. A keyword auto-tagger does a first pass using rules I can edit, and it won't re-add a tag I've removed by hand.

Each category also shows which hashtags its posts use, which helps when splitting a broad category into smaller ones.

Notes

Each post has a notes section that opens with a recipe template. Notes are saved to the database and also written to plain Markdown files, so they're still readable without the app.

Everyday features

Built with

The frontend is plain JavaScript with Tailwind and DaisyUI, with no build step.