DEV Community

Cover image for Your AI Cannot Use the Posts You Saved, So I Built Social Memory
devjiro
devjiro

Posted on AI-assisted

Your AI Cannot Use the Posts You Saved, So I Built Social Memory

Likes and bookmarks on X and Threads are easy to accumulate and surprisingly hard to use. I save an implementation detail, a thoughtful comparison, or an idea for something to build. A week later, it is somewhere in an unsearchable pile. Meanwhile, Codex or Claude Code cannot use those saved posts as context unless I go find them and paste them in myself.

I built Social Memory to connect those two disconnected habits: collecting useful posts and working with an AI assistant. It is a local-first evidence library for X/Twitter and Threads, not another feed to keep up with.

Collect what actually means “keep this”

A like does not mean the same thing to everyone. Sometimes it means “useful reference.” Sometimes it just means “thanks.” I do not want a tool deciding that every interaction belongs in my research library.

Social Memory lets you independently choose whether likes, saves/bookmarks, and reposts count as collection signals. You can collect bookmarks without likes, include reposts, or choose the combination that matches how you use each platform.

The storage model separates a post from the reasons it was collected. A post is stored once by platform and external post ID, even if several selected signals discover it. Capture metadata preserves why it entered the library. That distinction matters: I want to find one useful source, not three copies because I liked, bookmarked, and reposted it.

From an everyday browser to usable evidence

The workflow starts in the Chrome profile you already use. An unpacked Manifest V3 extension connects that profile to a local Native Messaging host. You do not export passwords or manually type profile IDs to make the connection.

If you use multiple Chrome profiles, load the same unpacked extension folder in each one and click Connect. Each profile receives a separate installation identity, while the local library deduplicates posts across profiles. Your work and personal browsing can contribute evidence without turning the same post into duplicate search results.

From there, the intended loop is straightforward: choose collection signals, collect posts into the local library, search for relevant evidence, and let a connected assistant work with the results. I am deliberately describing the architecture here, not claiming the new extension has already passed live account collection testing. The preview limitations are below.

Social Memory extension setup and connection guide

Search locally, synthesize with your assistant

SQLite and FTS5 provide local keyword search. I want the basic operation of finding a saved reference to stay understandable: a local database, searchable text, and links back to the original posts.

The read-only MCP integration gives Codex or Claude Code a way to retrieve source-linked evidence. The assistant can then group results, summarize them, and synthesize an answer. Social Memory supplies the evidence; the assistant does the interpretation.

For example, the kind of request I want to make is:

Find the implementation notes I bookmarked last week, group them by approach, and link every source.

For a developer, that could turn scattered references into a comparison to investigate before coding. For a creator, it could help organize research without losing the original authors and context. In both cases, source links are essential. A confident summary is not a substitute for being able to check what someone actually said.

A small quick start

The repository and README contain the setup instructions. The current release is v0.2.0.

git clone https://github.com/ohmyjiro/social-memory.git
cd social-memory
npm install --ignore-scripts
npm install --global .
export SOCIAL_MEMORY_DATA_DIR="$HOME/.social-memory"
social-memory init --data-dir "$SOCIAL_MEMORY_DATA_DIR" --json
Enter fullscreen mode Exit fullscreen mode

That initializes the local side; it is not the entire setup. Follow the README for the extension connection and MCP configuration steps. I would rather keep those instructions in one maintained place than leave readers with a second, gradually outdated manual here.

Local-first has a boundary

The source of truth remains local. That does not mean every use of the library stays on your device. Content sent to a connected cloud AI may leave the device. Treat the assistant connection as a separate privacy decision, especially when deciding which collected material to include in a request.

Social Memory is source-available under PolyForm Perimeter 1.0.1. Review that license if you plan to build on it or distribute something derived from it.

What is still rough

This is a development preview, with real limits:

  • The native host targets macOS/Linux; Windows end-to-end operation is unverified.
  • The Chrome extension is unpacked only.
  • Daily extension collection is best effort while Chrome runs, not a guaranteed background service.
  • Live X/Threads account collection with the new extension is not yet verified.

If you are a developer who lives in X/Threads bookmarks, try Social Memory and report where setup feels rough. I would especially value the exact step where the connection, collection, or retrieval flow stops making sense.

Top comments (0)