Personify

Your life, in one searchable place.

Personify ingests every export you have — chats, mail, code, notes — into a Postgres vault on your laptop. Search it, embed it, plug it into Claude.

$git clone https://github.com/trigga6006/personify.git && cd personify && npm run setup
personify/personal/Dashboard
MCP
vault overview

Dashboard

Personal data ingested from your services. The protagonists are the numbers.

items
41,085
exports
12
sources
8
accounts
6
runs
14
items per source
  • Gmail
    12,834
  • ChatGPT
    8,421
  • Discord
    7,612
  • X (Twitter)
    5,247
  • Claude
    4,218
  • Notion
    1,893
  • GitHub
    542
  • Files
    318
recent ingestion runs
idexportparserstatusseeninsertedskippedstarted
1412gmail · v0.3.1ok12,96812,8341341d ago
1311discord · v0.2.0ok7,7407,6121281d ago
1210notion · v0.1.2ok1,9241,893312d ago
119chatgpt · v0.1.0ok8,5128,421913d ago
108claude · v0.1.0ok4,2874,218694d ago

Eight sources today.

Plug in the exports you already have. Add a parser for anything we missed.

Logos are property of their respective owners. Personify is not affiliated with or endorsed by these companies. Logos used solely to indicate supported import formats.

View all sources
Ingest

From export to queryable in one command.

Drop the ZIP into your vault. Personify parses, deduplicates, indexes for full-text search, and stages it for embeddings — in one transaction. Raw bytes are SHA-256 verified and never mutated.

vault
$ vault add-export --source chatgpt \
--path ./chatgpt.zip --account me
→ stored · sha256 verified
$ vault ingest --source chatgpt
→ 18,422 items · 142 deduped · 0 errors
Robot pushing a cart of folders through a pipeline of icons into a vault
Robot at a desk surrounded by floating app icons — Gmail, Drive, chat, cube, document, cloud — with a code panel and a graph panel
Unified

Eight services. One schema. Vaults when you need them.

Every parser produces the same shape: items with source, account, ts, content_hash, and a metadata blob. Query across sources inside a vault, or split work and personal into separate vault databases.

Dedup is keyed on (source, account, native_id) with content-hash fallback, so the same export imported twice produces zero duplicates.

Search

Search that knows what you meant.

Postgres full-text gets you keyword precision. pgvector cosine on all-MiniLM-L6-v2 embeddings (384-dim) gets you the conversation you can’t quite remember. Both run on your machine. No outbound API calls.

vault
$ vault search "that conversation about pgvector"
→ 14 hits across chatgpt, claude, github
→ chatgpt/2024-08-12 cosine vs L2 distance
→ claude/2024-09-03 pgvector index tuning
→ github/personify services/search.py:48
A small robot with a magnifying glass examining a stack of document cards
Robot loading documents into a safe with a graph and search panel beside it
Privacy

Your data never leaves your laptop.

Postgres in Docker. pgvector for embeddings. Sentence-transformers running on your CPU, CUDA, or DirectML — whichever you have. No SaaS, no telemetry on your queries, no key to lose.

  • Raw exports SHA-256 verified, copied (never moved), never mutated.
  • Embeddings computed locally — GPU acceleration where available.
  • Multiple vaults: keep work and personal in separate databases.
Knowledge graph

A graph of you.

People, projects, companies, tools, ideas — extracted from your items and linked together with evidence. 22 entity types, 18 relationship types, every edge backed by a quote.

ProjectPersonCompanyTopicToolDocumentRepositoryEmailConversationIdeaDecisionAPI…and 10 more
A floating knowledge graph of connected entity cards on a dark canvas, with a small robot in the corner watching
MCP server

Plug it into Claude.

Personify ships a read-only MCP server over stdio for Claude Desktop, plus a UI-gated HTTP MCP transport for local clients. Your assistant gets full-text and semantic search, the entity graph, and item retrieval — all scoped to your active vault.

claude_desktop_config.json
{
"mcpServers": {
"personify": {
"command": "vault",
"args": ["mcp"]
}
}
}
Robot inserting a card into a vault with glowing connected icon trails on a desk
searchsemantic_searchtimelineget_itemrecent_itemsrecent_runslist_sourceslist_accountsstatsgraph_search_entitiesget_entityentity_neighborhoodentity_context

Install Personify.

One setup command, one local app, your vaults.

$git clone https://github.com/trigga6006/personify.git && cd personify && npm run setup

v0.1.0 · MIT licensed · made for your laptop