IG Collections

// PublicWorX · live · 2026

PublicWorX Live 2026

Instagram lets you save posts. It gives you nothing to do with them afterward.

The problem

Saved collections on Instagram are a black box: no summaries, no notes, no search, and no record of what you’ve already looked into. Save a few hundred tutorials and tools and you own a pile, not a list.

What it does

IG Collections turns the pile into a working todo list. It calls Instagram’s internal mobile API with my session cookies and paginates through every saved post. A 50-page guard and loop detection keep a sync from running away. Each post is then enriched by a self-hosted ScrapeGraphAI service running Claude Haiku 4.5, which extracts a structured record: a 2-3 sentence summary, every referenced link, hashtags, and a content type. If enrichment fails, the post falls back to its raw caption instead of disappearing.

On top sits a Filament v4 admin panel (global search, filters by collection and done-state, notes, mark-done, re-scrape) plus an auth-gated mobile triage queue that installs as a PWA. Subscribed collections auto-resync on a nightly cron: jittered dispatch, randomized 3-8s fetch delays, and a hard block (401, 429, or a challenge) disables auto-sync instead of retrying into a ban.

  • Laravel 13
  • Filament v4
  • Livewire 3
  • ScrapeGraphAI
  • Claude Haiku 4.5
  • SQLite

Receipts

96pending itemsverified 2026-07-10
25PHPUnit casesgrown from 11
3hardening loopsdocumented audit
  • Live: igcollect.randomsynergy.xyz. The public landing page was serving 96 pending items, last synced 11 hours earlier, when I verified it on 2026-07-10.
  • Pipeline: idempotent queued jobs on Laravel’s database queue, split across separate sync and enrich queues.
  • Thumbnails: downloaded and stored locally at sync time (Instagram’s CDN URLs expire within days) with a daily backfill command that self-heals missing images.
  • Secrets: IG cookies stored encrypted in the database, never in .env, and sanitized out of logs.
  • Tests: 25 PHPUnit cases and a documented 3-loop hardening audit.
  • Infra: Docker on the DarkTower host via Portainer, SQLite single-file database, one-command deploy script.

Outcome

A single-user personal tool by design. I started it on 2026-05-08 and had the working collection endpoint reverse-engineered a day later by probing 4 candidates. It’s live in production and actively syncing. Every post I save now lands in a queue I can actually work through.

Links: Try it