I had 2,300 Twitter bookmarks. I could tell you approximately none of what was in them. They existed as a kind of digital hoarding — "this looks useful, I'll save it and never look at it again."
Siftly is a local tool that processes your Twitter/X bookmarks with AI, categorizes them, surfaces duplicates, and lets you actually search them. It runs on your machine.
The Information Hoarding Problem
Before getting into the tool: why does this problem exist?
Bookmarking is frictionless. Reading and categorizing is not. So the bookmark pile grows indefinitely while the signal-to-noise ratio degrades. By the time you actually want to find something, the pile is too big to search manually and your memory of saving it is too vague to keyword-search effectively.
The right solution isn't "be more disciplined about bookmarks." You won't be. The right solution is tooling that processes the pile for you.
What Siftly Actually Does
You export your bookmarks (Twitter has an export option buried in settings), point Siftly at the export, and it runs a local embedding model over the content. It then:
- Clusters related bookmarks into categories
- Flags likely duplicates or near-duplicates
- Builds a local search index you can query in natural language
The search is the killer feature. "That thread about React server components and caching" — Siftly finds it. No keywords required.
siftly import --file bookmarks.json
siftly search "react server components caching"
# Returns ranked results with snippets
Why Local-First Matters Here
The obvious question: why not just send the bookmarks to a cloud service?
Two reasons:
Privacy: Your bookmarks are a map of your intellectual interests, research directions, and professional curiosity. That's worth keeping private.
Cost structure: Running embeddings over 2,000 items via an API would cost real money and require ongoing API access. Running a local model (Siftly uses nomic-embed-text via Ollama under the hood) costs nothing after the initial model download.
The local model is slower than a cloud API. The first index build on my 2,300 bookmarks took about 8 minutes on an M2 MacBook. But it runs once, and subsequent searches are instant from the local index.
The Broader Pattern
Siftly is a specific tool for a specific problem, but it represents something more interesting: local-first AI for personal knowledge management.
The combination that makes this pattern work:
- Small, efficient embedding models (nomic-embed-text, all-MiniLM, etc.)
- Local inference via Ollama or LM Studio
- SQLite or DuckDB for the vector index
- Simple CLI interface
This stack is now cheap enough to run on consumer hardware for most personal knowledge management tasks. You don't need a server, a subscription, or an API key.
What's Missing
Siftly doesn't solve the ongoing problem — new bookmarks pile up after your initial import. There's no continuous sync with Twitter's API (partly because Twitter's API pricing makes this impractical for indie tools).
For now the workflow is: periodic re-import and re-index. Not ideal but workable.
The other gap is cross-platform. If you use Pocket, Raindrop, or Notion for other bookmarks, Siftly doesn't help with those. The local-first approach makes integration harder — each tool is its own island.
Worth It?
For anyone with a significant backlog of bookmarks they actually want to be able to find — yes. The 8-minute one-time setup unlocked 2,300 bookmarks that were previously inaccessible. That's a good trade.
The broader lesson: local AI tools are now capable enough for real personal productivity tasks. You don't have to send everything to the cloud.