From the bench · personal tool

The Register.

A lightweight personal CRM. Contacts, follow-ups, notes — kept local in your browser, seeded from a JSON file you control.

Contacts0
Follow-ups due0
Overdue0
01

Roster

0 contacts

No contacts yet

Click + New contact to add your first one, or seed from register.json.

02

Data & sync

Your working copy lives in this browser's localStorage. The companion file register.json is a seed and a manual sync point: it's read on first load (when localStorage is empty), and you replace it manually with an export when you want the file on disk to match your browser.

03

Workflow

Spreadsheet → JSON → here: shape your spreadsheet rows to match the schema below (or run a quick converter), save as register.json next to this page, and click Reload from register.json.

Browser → JSON (saving back): click Export JSON, rename the downloaded file to register.json, and overwrite the old one. The export is a complete snapshot, not a diff.

Schema:

[
  {
    "id":          "c_unique_id",
    "first":       "Jane",
    "last":        "Doe",
    "company":     "EPA",
    "title":       "Director, IT",
    "email":       "jane.doe@example.gov",
    "phone":       "202-555-0100",
    "lastContact": "2026-05-20",
    "followup":    "2026-06-15",
    "tags":        ["federal", "warm-lead"],
    "notes":       "Discussed VCF migration timeline."
  }
]

Rows without an id get one assigned on load. Dates use YYYY-MM-DD. Empty arrays and missing fields are fine.

The simplest CRM is the one you'll actually open.