Local-firstInstagram memoryAgent-ready

Your Instagram history.
Actually yours.

Import your archive into private local SQLite. Ask for images in natural language, search OCR and visual concepts, organize Saved posts automatically, and build exportable moodboards.

Demo needs no Instagram login Local analysis by default MIT licensed
127.0.0.1:4667
Local
PERSONAL ARCHIVE

Home

Post
LI
@linh.makesLinh Tran

Glaze tests from a week of coastal fog. Keeping the failures close.

842 27
Carousel
NO
@nora.worksNora Singh

A visual system built from tide charts, shipping labels, and one stubborn shade of red.

1.2k 38
Reel
KA
@kai.afterlightKai Bell

Last light moving across the south wall. 22 seconds, no soundtrack.

2.3k 51
SQLite is truth
Loopback only
PostsCarouselsReelsStoriesCommentsDMsSavedLikesFollowersVisual searchOCRBoards

Try the full visual-memory workflow.

Explore a privacy-safe sample archive—analyze media, ask in natural language, organize Saved posts, and compose a board. The demo is interactive, but nothing leaves your browser.

  1. 01
    AnalyzeOCR, objects, colors
  2. 02
    AskHybrid visual search
  3. 03
    LibraryClusters, tags, review
  4. 04
    BoardsArrange, note, export
gramclaw · sample archiveNothing uploaded
PUBLIC PRODUCT DEMO

Ask your visual memory

Local mode
wooden kitchens I saved last year
Saved 2025 Images Warm tones Interiors
92%
@nora.worksObjects: wood · OCR: kitchenWhy it matched
86%
@mina.studioWarm palette · Saved in 2025Why it matched
81%
@field.notesSemantic match · interiorWhy it matched

One archive in. A whole memory system out.

Request a JSON export from Instagram Accounts Center, point Gramclaw at the ZIP, and open the local workspace. Re-import later—merges are idempotent and preserve newer local data.

How to export from Instagram
Terminal
# Install the downloaded release
$ npm install -g ./gramclaw-1.1.0.tgz

# Build your local memory
$ gramclaw import archive ~/Downloads/instagram-export.zip
✓ 4,218 posts · 12,904 DMs · 1,103 saved

# Build the private visual index
$ gramclaw analyze run
✓ OCR · objects · colors · embeddings

$ gramclaw serve --open
→ http://127.0.0.1:4667

Instagram is the source. Your machine is the home.

Archive and live transports converge on one normalized local core, so the interface, CLI, backups, and agents all see the same truth.

01

Private media understanding

Local OCR, image descriptions, dominant colors, objects, visual style, embeddings, and duplicate fingerprints—with progress and retry support.

02

Ask what you remember

Hybrid caption, OCR, metadata, and semantic-image search with creator, date, type, Saved/Liked, color, and topic filters.

NS

Wood · warm interior · last year

Saved
03

Saved, automatically organized

Topic clusters and a review queue sit beside your own collections, tags, and bulk organization tools.

42

InteriorsWood, kitchens, quiet rooms

28

CeramicsGlaze, clay, studio tests

13

UnorganizedReady for your review

04

Build a board while the idea is alive

Pull references directly from search, rearrange them freely, add working notes, and export the finished moodboard as an image or PDF.

05

Backups you can inspect

Deterministic JSONL shards stay Git-friendly. Cookies, tokens, WAL files, FTS shadow tables, and downloaded media stay out.

manifest.jsondata/posts.jsonldata/dms/messages.jsonldata/network/events.jsonl
06

Ephemeral, preserved

Stories and archive media are copied into your local originals cache, with live downloads paced separately.

ANKP

Human-friendly in the browser. Agent-native in the terminal.

Every read command emits stable JSON. Your scripts and agents can search, triage, inspect people, read conversations, and analyze the relationship graph without touching Instagram again.

gramclaw
$ gramclaw ask "wooden kitchens I saved last year" --json

{
  "items": [{
    "id": "post_8f21…",
    "score": 86,
    "why": ["Objects: wood", "Saved item"],
    "analysis": {"colors":["#9a7557"]}
  }]
}
Archiveimport · find · restore
Visual memoryOCR · objects · colors · embeddings
Conversationsdms · inbox · comments
Peopleprofiles · mutuals · events
Organizeclusters · tags · boards · exports
Actionsdraft · post · comment · dm

Your archive never needs a cloud.

The durable path is deliberately boring: JSON export → local SQLite → loopback web app. Live connections are optional adapters, never the canonical store.

Binds to 127.0.0.1 by default Writes stay drafts until --yes Browser cookies never enter backups Optional app token for local web No remote AI required Archive-only mode always works
Optional live transport
Instagram archiveDurable, complete, keyless
Recommended
Browser sessionPersonal account reads + guarded actions
Best effort
Instagram GraphProfessional account publishing
Official API

Private web endpoints can change or rate-limit automation. Gramclaw surfaces transport health without making live access a dependency.

Good questions.
Plain answers.

Gramclaw is independent software, not affiliated with Instagram or Meta. Use live access gently and only on accounts you control.

Does Gramclaw upload my archive?+

No. The app imports into SQLite and analyzes media on your machine. The public site never receives your archive, images, messages, cookies, or tokens. Optional cloud vision runs only when you explicitly choose it.

Do I need an Instagram API key?+

No for archive import, search, DMs, insights, media preservation, backups, and the local web workspace. Optional live reads can reuse your signed-in browser session. Professional accounts can also connect the official Instagram Graph API.

What can it import?+

JSON exports containing posts, carousels, reels, stories, comments, likes, saved posts, followers, following, profile information, and direct-message history. Imports are idempotent and merge-safe.

Can agents use it?+

Yes. Every read path has stable JSON output: visual search, media analysis, Saved collections, boards, conversations, profiles, relationship graphs, and insights.

Can it publish?+

Yes, with guardrails. Browser-cookie transport supports a local JPEG post or story. The official Graph transport supports URL-based posts, carousels, reels, stories, comments, replies, and messages. Writes remain drafts unless you explicitly pass --yes.

g

Local-first Instagram memory

Stop renting access
to your own history.

Node 22+ · MIT · macOS, Linux, Windows