Get started

Quickstart

Get the Personify vault running in five minutes.

This is the short path: clone Personify, run one setup command, start the local app, register an export, ingest it, and search it. By the end you'll have a working personal data vault on your laptop.

Prerequisites

You need:

  • Docker (for Postgres + pgvector) — Desktop on Mac/Windows or Docker Engine on Linux
  • Node.js 20+ with npm — drives the setup and start scripts
  • Python 3.11 or newer — Personify creates a local virtualenv for the backend
  • About 2 GB of free disk for a small vault, more if you have years of chat history

1. Clone and set up

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

npm run setup does the first-run work for you:

  • creates .env with a generated local database password
  • creates .venv
  • installs the Python package and dev dependencies
  • installs frontend dependencies
  • starts Docker/Postgres
  • initializes the default personal vault schema

Compose binds Postgres to 127.0.0.1:5544, not your whole network.

Do not delete the Docker volume casually

docker compose down -v removes the named volume that backs Postgres. Your ingested items, graph rows, and other database state will be gone. Use docker compose stop or plain docker compose down when you only want to stop the container.

2. Start the app

bash
npm start

Open http://localhost:18766. The Vite UI proxies API requests to FastAPI on 127.0.0.1:18765.

If Postgres is already running, npm start keeps it running. If an old backend process is sitting on the API port, the dev command probes more than /health so the UI does not silently connect to a stale server.

3. Register your first export

In the UI:

  1. Open Exports.
  2. Click Add export.
  3. Choose a source, enter the local export path, and give it an account label.
  4. Click Add export.

Personify never moves your original file. It copies the export into the active vault under vault/raw/<source>/<account>/, stores a SHA-256 hash, and records the account label so work and personal exports can live side by side.

4. Ingest

From the export row or pipeline controls, run ingest. Standard ingest parses the export into normalized items. Embeddings and graph extraction are opt-in follow-up stages you can run from the UI later.

You can also use the CLI once the virtualenv is active:

bash
vault ingest --source chatgpt
vault search "pgvector index tuning"

5. Create another vault

With npm start already running, the UI can create a second vault from scratch:

  1. Click the vault switcher.
  2. Click New vault....
  3. Enter a name such as work or code-corpus.
  4. Leave Switch to it after creating checked.
  5. Click Create vault.

That creates a new Postgres database inside the same personify-db Docker container, creates a separate folder under ./vaults/<name>/, initializes the schema, seeds parser sources, and switches the running app to that vault. Add exports after confirming the vault switcher shows the new vault name.

What's next

  • Install — details on setup scripts, env vars, and optional embeddings.
  • Sources — every supported export format.
  • MCP server — plug Personify into Claude Desktop or use the UI-gated HTTP MCP endpoint.
  • CLI reference — every command and flag.