§ Grapher · A canvas for what you're tracking

Connect the dots you've been holding in your head.

Grapher gives shape to the things you track — leads, papers, products, ideas, newsletters, scientific authors, anything that connects. Drawn by you, extended by Claude Code, audited by default.

Built for humans · Operable by Claude Code · Self-hosted ready
§ Try it · No signup required

Drag nodes. Connect them. See it work.

Below is a live, browser-only canvas pre-seeded with a real network. Up to 32 nodes. Everything stays on your machine.

Demo canvas · loading
§ Two audiences · One canvas

The same graph, drawn by hand and operated by agent.

For humans
Visual interpretability, no spreadsheet rows.
  • · Drag nodes, draw labeled edges, see the whole network in one glance.
  • · Click any two entities to read the shortest path between them.
  • · Per-entity labels and dates, with a compact card mode for dense graphs.
  • · Color-by-kind, auto-layouts, a nested-list sidebar for tree thinking.
For Claude Code
A data model shaped for autonomy.
  • · Free-form kind strings — agents introduce categories without a migration.
  • · JSONB custom_data escape hatch on every entity.
  • · Per-field audit trail via django-simple-history — every change is attributed.
  • · Designed for token-gated programmatic access alongside the human UI.
“A graph that an agent can write to and a human can read back — that's the whole product.”Design principle · Grapher
§ Designed for Claude Code

An agent-readable schema, not an agent afterthought.

Most tools bolt an API on as an export channel. Grapher's data model was shaped from the start so an agent can extend, audit, and operate the canvas with the same fidelity a human gets in the UI.

  • Schema-first by design

    kindis a free-form string, not an enum. An agent can introduce ‘newsletter’ or ‘scientific-author’ tonight without a migration tomorrow.

  • Structured extension built in

    Every entity carries a JSONB custom_data column. Agents extend the schema in place without breaking the UI rendering.

  • Audit-trail per field

    Every change is attributed via django-simple-history. Reviewing an agent's work is a built-in workflow, not a custom integration.

§ Entity shape · illustrative
{
  "id": 142,
  "kind": "scientific-author",
  "name": "K. Hopper",
  "website": "https://example.org/khopper",
  "labels": ["nasa", "compilers", "follow-up"],
  "custom_date": "2026-04-12",
  "custom_data": {
    "orcid": "0000-0001-0000-0000",
    "h_index": 38
  },
  "position_x": 220,
  "position_y": 140,
  "created_at": "2026-06-16T11:02:00Z",
  "updated_at": "2026-06-16T18:55:21Z"
}

A first-class HTTP API for agents is on the roadmap. The data model is already shaped for it.

§ Capabilities · today

The canvas is the whole product.

§ Edges
Labeled relationships

Drag from one node to another, name the edge — operates, member_of, cites, anything you write.

§ Distance
Shortest path, on demand

Shift-click any two entities. The canvas highlights the path and counts the edges between them.

§ History
Per-field audit trail

Every change to every field is captured. See who edited what, when, and what it used to say.

§ Labels & dates
Tag and time-stamp anything

Free-form labels on every entity. An optional custom date for follow-ups, deadlines, or first contact.

§ Auto-layout
Tree, kind-row, kind-column

One click to tidy. Useful when the graph grows beyond what you can pan to gracefully.

§ Compact mode
Hide details per node

Collapse any node to its essentials — kind, name, labels, date. Expand again when you need the rest.

§ Start a campaign

Stop holding the graph in your head. Plot it.

Free to start. Your first canvas takes about a minute to seed and a lifetime to outgrow.