100% Free & Open Sourceby gitnasr.com softwares

Your saved posts, permanently yours.

Instagram bookmarks break when accounts vanish, rename, or go private. Archive your saved posts into a private database with permanent Cloudinary CDN sync, append-only event timelines, and in-browser vector AI.

>curl -fsSL https://raw.githubusercontent.com/gitnasr/Instagram-Saved-Posts/master/install.sh | bash
MIT LicenseMulti-ProfileCloudinary CDNBrowser & Qdrant AI (Coming Soon)
M
Design Research ProfileActive
1,428 Saved Posts 100% Cloudinary Synced
Sort: Taken At (Newest)
AV
@arch_vault
Saved 2h ago
Cloud CDN
architecture_brutalist_facade.jpgCloudinary Synced • 2048x1536
Carousel (4)

Concrete cantilever structure in daylight. Study on brutalist overhangs and warm wood accents.

14.2k 184
#architecture
TD
@type_direction
Saved 1d ago
Cloud CDN
swiss_poster_grid_layout.webpCloudinary Synced • 1080x1350

Editorial layout principles with asymmetrical multi-column baseline alignment.

8.9k 92
#typography
UX
@linear_patterns
Saved 3d ago
Cloud CDN
micro_interactions_dashboard.mp4Video Clip • Permanent Backup

Fluid keyboard navigation transitions and surface elevation hierarchy tokens.

21.5k 310
#uidesign
The Archival Problem

Why native Instagram bookmarks fail

Instagram is designed for ephemeral consumption, not personal knowledge archives. When you rely on their servers, your visual references are fragile.

Instagram URLs & Bookmarks Expire

Instagram media URLs expire in days. When you revisit saved collections months later, thumbnails 404 and posts vanish permanently.

Permanent Cloudinary CDN Storage

Permanent Assets

Every saved image, carousel item, and video thumbnail is mirrored immediately to your Cloudinary storage with permanent URLs.

Creators Rename & Vanish

When an account changes handles or gets banned, bookmarks break or lead to empty profiles, making posts impossible to trace.

Append-Only Timeline & Event Audit

Audit Trail

The tracker monitors account PKs, logs handle changes (from @old to @new), detects deletions, and alerts you on recoveries.

Zero Semantic or Visual Search

Instagram native saved search is non-existent. You are forced to manually scroll through thousands of tiles hoping to spot what you need.

Qdrant Vector AI & Face Search

Multimodal AI

Search with visual descriptions ("vintage typography poster") or find all posts containing specific faces using AI embeddings.

Locked to a Single Account Session

Managing personal, brand, and research Instagram accounts requires constant logging out and risking session invalidation.

Netflix-Style Multi-Profile Switcher

Multi-Session

Switch between profiles in 1 click. Each profile retains its own independent session, user-agent, scraping schedules, and collections.

System Architecture

Engineered for permanence and intelligence

Every layer of the stack is optimized for resilient synchronization, high-speed querying, and data ownership.

Multi-Session

Multi-Profile Architecture

Netflix-style profile switching. Manage multiple Instagram accounts in one instance, each with isolated cookies, user-agents, avatars, and private datasets.

Independent session cookies & custom user-agents per profile
Automatic profile avatar syncing with fallback deterministic tiles
Scoped data queries guaranteeing total privacy between profiles
Seamless zero-reload profile switcher in the top navigation
Fault-Tolerant

Checkpoint-Driven Resumable Scraper

Engineered for rock-solid stability against Instagram pagination limits. Safely checkpoints progress, automatically classifies rate limits, and resumes without duplicate work.

Cursor-based checkpoint tracking using checkpointMaxId
Smart error categorization: rate_limited, transient, auth, and fatal
One-click resume with full retry count and run auditing
Zero duplicated posts on resumed execution runs
Audited Changes

Append-Only Event Timelines

Track every transformation over time. Detect deleted accounts, username renames, privacy flips, and badge changes automatically.

Detects when creators change handles (old username -> new username)
Flags lost accounts (deleted/banned) and marks recoveries
Monitors privacy transitions (public to private)
Maintains full status history with custom operator notes and tags
Zero Broken Links

Cloudinary CDN Media Archival

Instagram media URLs expire rapidly. Automatically syncs high-resolution images, video clips, and carousels to permanent cloud CDN storage.

Automatic background synchronization for posts & multi-slide carousels
Optimized Cloudinary transformations for instant thumbnail loading
Profile picture caching with SHA-256 hash change detection
Reliable fallback proxy system for direct image previewing
Coming Soon / Browser AI

In-Browser & Qdrant Semantic Search

Search your visual archive with natural language. Client-side Transformer.js in-browser vector search and self-hosted Qdrant integration.

Natural concept queries (e.g. "minimalist architecture with warm lighting")
In-browser local inference via Transformer.js & WebGPU
Self-hosted Qdrant vector backend for high-scale databases
Instant semantic visual similarity matching
Coming Soon / In-Browser

Face Detection & Facial Embeddings

Organize your archive by people. In-browser client & server face detection with TensorFlow.js and Face-API extracts facial descriptors to cluster recurring individuals.

TensorFlow.js & vladmandic/face-api in-browser 128-dim facial descriptors
Find all saved posts containing the same person across creators
100% private in-browser AI processing without sending biometric data to 3rd parties
Fast facial clustering and recurring subject filters
AI Vector IntelligenceComing Soon / Browser AI

Search by visual intent, not just keywords.

Instagram captions rarely describe the nuances inside an image. Our planned in-browser Transformer.js & self-hosted Qdrant engine generates 512-dimensional CLIP embeddings and 128-dimensional facial vectors for natural concept and person discovery.

In-Browser CLIP Vision & Text

Coming Soon

Client-side local inference via Transformer.js without sending images to external AI cloud APIs.

In-Browser Face Recognition

Coming Soon

Find all saved photos of a specific collaborator or creator across hundreds of saved posts using local TensorFlow.js.

Self-Hosted Qdrant Engine

Docker Support

Sub-50ms cosine similarity queries on your own server for enterprise and large-scale personal archives.

Vector AI Studio (Roadmap Preview)
Coming Soon
Vector Dimension: 512Mode: In-Browser / Qdrant
Top Match Details:
Target: Post #1092819 (Account @arch_vault)
#Architecture#Brutalism#Facade
Inference latency: 28msComing Soon ✓
Pipeline Architecture

From raw bookmark stream to intelligent archive

A resilient multi-stage pipeline designed for fault tolerance, data longevity, and instant search latency.

Next.js App API

1. Ingestion Engine

Instagram API & Checkpoints

Fetches saved posts via authenticated pagination. Auto-saves checkpoint tokens (checkpointMaxId) so interruptions never lose scraping state.

Prisma Client

2. Relational / Document Store

Prisma + MongoDB / SQLite

Stores profiles, accounts, carousel media, append-only events, and username history with index-optimized query performance.

Cloudinary SDK

3. Media Mirroring

Cloudinary CDN Sync

Asynchronously pipes high-res images and carousel slides to Cloudinary CDN, guaranteeing zero broken images or expired signatures.

Qdrant REST

4. AI Vector & Face Embeddings

Qdrant + HuggingFace + FaceAPI

Extracts CLIP multimodal embeddings & TensorFlow face vectors, indexing them into Qdrant for millisecond semantic visual queries.

Next.js 15 UI

5. Fast Responsive Interface

React 19 + TanStack Query

Provides instant searching, multi-criteria filtering, timeline auditing, interactive post carousels, and CSV/JSON export.

100% Self-Hosted

Deploy on your own server in 1 minute.

No closed SaaS subscriptions. Deploy to your Raspberry Pi, VPS, Unraid, TrueNAS, or home server with Docker Compose.

Zero telemetry or third-party tracking
Single command deployment with Docker Compose
Automatic schema migrations via Prisma
Works on x86-64 and ARM64 (Apple Silicon / Raspberry Pi)
docker-compose.yml
version: '3.8'

services:
  app:
    image: ghcr.io/gitnasr/instagram-saved-tracker:latest
    ports:
      - "3000:3000"
    environment:
      - DATABASE_URL=mongodb://mongo:27017/instagram
      - QDRANT_URL=http://qdrant:6333
      - CLOUDINARY_CLOUD_NAME=your_cloud_name
      - CLOUDINARY_API_KEY=your_api_key
      - CLOUDINARY_API_SECRET=your_api_secret
    depends_on:
      - mongo
    restart: unless-stopped

  mongo:
    image: mongo:7.0
    volumes:
      - mongo_data:/data/db
    restart: unless-stopped

volumes:
  mongo_data:
Frequently Asked Questions

Everything you need to know

Have questions about data privacy, rate limiting, or vector search? We have answers.

The multi-profile architecture allows you to connect multiple Instagram accounts to a single instance. Just like switching users on Netflix, each profile has its own session cookies, user-agent, avatar, and completely isolated database records (posts, accounts, timelines, and scrape runs).
Take Back Your Digital Media Archive

Stop losing inspiration to expiring links and deleted posts.

Start archiving your saved Instagram posts today. Free, open source, and completely self-hosted.