Skip to content

aaditya0602/InstaSort

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

InstaSort

Open-source, self-hostable tool that bulk-imports your existing Instagram saved posts, enriches each one (caption + reel transcript + AI summary), auto-categorizes them with embeddings + an LLM, and lets you link saves into an Ideas mind-map.

Bring your own keys. Runs locally. Your data stays yours.

Why

Instagram Collections require manual upkeep nobody does retroactively. If you've saved thousands of posts over the years, there's no way to organize them after the fact. InstaSort fixes the migration problem: take everything you've already saved and make it searchable and organized.

How it gets your data

There is no Instagram API for saved posts. InstaSort uses two compliant paths:

  1. Bulk import (onboarding): Upload Meta's official Export Your Information archive. We parse saved_posts.json for your saved permalinks — no scraping, no password.
  2. Ongoing capture: Paste a link in the app, or use the browser extension, to add new saves over time.

Saved-post exports contain only URLs, so InstaSort re-fetches each public post to enrich it (caption, thumbnail, and — for reels — an audio transcript). Private or deleted posts keep metadata-only.

Architecture

apps/web        Next.js + TS + Tailwind + shadcn/ui  (UI, API routes)
services/worker FastAPI + RQ  (enrichment, embeddings, transcription, clustering)
infra/db        Postgres + pgvector schema & migrations
packages/shared shared types / contracts

Postgres + pgvector for storage and vector search. Redis for the enrichment job queue. LLM, embedding, and transcription providers are pluggable (Claude / OpenAI / Ollama / local).

Quick start

cp .env.example .env   # add your keys, pick a tier
docker compose up

Then open http://localhost:3000 and upload your export.

Enrichment tiers

Tier What it does Cost
cheap Caption + Open Graph metadata only ~free
medium Adds local Whisper transcription for reels local CPU/GPU

Set ENRICHMENT_TIER in .env.

Status

Early WIP. See docs/roadmap.md for phases.

License

MIT — see LICENSE.

About

No description, website, or topics provided.

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors