← All articles

CRM: Signed Records, Synced Peer to Peer

Part 16 of the VIMS Blog Network. Your customer list is the most valuable data your business has. It should not live in someone else's database.


Renting Your Own Customers

A hosted CRM is a strange deal. You type in every contact, every company, every deal and every promise, and in return you pay per seat to read it back. Export is a feature tier. Your pipeline stops when their API rate-limits you. If you leave, you leave with a CSV.

VIMS CRM keeps the same shape (contacts, companies, a pipeline, tasks) and changes where the data lives and who can change it.

Contacts, Companies, Pipeline, Tasks

The CRM has three panels: the tabs on the left (Contacts, Companies, Pipeline, Tasks), the list or the open record in the middle, and the assistant on the right, which knows what you have open. A company lists its people. Tasks you create from a record are yours.

Some records make themselves. A booking someone makes through your Schedule page becomes a contact; so does a subscriber from Reach. The same app runs on the desktop and at crm.vims.com in a browser. (Blog 07: Voice and Meeting Agents)

Every Edit Is a Signed Commit

Each change you make becomes a commit signed by your key. Nobody relaying it can alter it or pass it off as someone else's.

Members' desktops and browsers in the CRM's room swap whatever commits the others are missing. Any device that applies the same commits, in any order, ends up with the same records, field by field, the newest edit winning. Every device keeps its commits locally, so the CRM works offline and catches up when it reconnects. (Blog 06: P2P Surfaces)

Your own VIMS keeps a copy too. It verifies every commit before storing it, so the CRM is there even with no browser tab open. That is also where bookings and inbound messages get written in.

Roles That Can't Be Talked Around

A member's role decides what they may change: records at one level, the CRM's setup (stages and fields) at admin level. An edit a role does not allow is dropped by every device and by your VIMS, no matter who relays it. There is no server to trick, because every peer checks.

Your CRM Is Also a Database

Your VIMS lists the CRM's records as a paired, read-only SQLite database in the Database app. Write SQL against your pipeline, build reports, join it with your other sources, or ask an agent to. Edits still go through the CRM, where roles are checked. (Blog 04: Data and Knowledge)

Relationships, Not Just Rows

The CRM sits next to VIMS's relationship memory. Conversations you connect (email, messages, meetings, calls) feed people, what you promised them and what you are waiting on, so before a meeting you can pull up a brief instead of scrolling an inbox. The CRM holds the structured record; the knowledge base holds the history. (Blog 16: Phone)


Previous: Git Without a Forge Next: Phone: An AI Receptionist on Your Own Number