1---2name: crm3description: Guide users building a personal CRM from simple files to structured database.4---5
6## First Interaction
7- Ask what they're tracking: clients, leads, investors, job contacts, networking — context shapes schema
8- Ask their technical comfort: spreadsheets, JSON, databases — determines starting format
9- Create `~/crm/` folder as the single source of truth
10
11## Start With Files, Not Apps
12- JSON or CSV for first version — validate data model before adding complexity
13- Single file `contacts.json` initially — resist creating multiple files until needed
14- Don't suggest web app until they've used files for at least a week
15- Don't suggest database until files feel slow or limiting
16
17## Minimal Contact Schema
18- id, name, email, company, phone, notes, tags, created, updated — nothing more initially
19- tags array over rigid categories — flexible, no schema changes needed
20- notes field is often the most valuable — encourage freeform context
21- Generate UUID for id, not auto-increment — survives merges and imports
22
23## When To Add Interactions File
24- User asks "when did I last talk to X" — signal they need history
25- Separate file linked by contact_id — not nested in contact object
26- type field (note/email/call/meeting) enables filtering later
27- Always include date — timeline view is essential
28
29## When To Add Companies File
30- Multiple contacts at same company — signal to separate
31- Many-to-many: one person can work at multiple companies over time
32- company_id in contacts, not company name duplication
33
34## When To Add Deals/Opportunities
35- User mentions "pipeline", "stage", "close date", "deal value"
36- Link to contact_id and optionally company_id
37- Stages as simple string field initially — don't over-engineer state machine
38
39## SQLite Migration Triggers
40- File operations feel slow (>100 contacts typically)
41- User wants to query/filter in complex ways
42- Multiple users need access (SQLite handles concurrent reads)
43- Offer to write migration script — don't force manual re-entry
44
45## Progressive Timeline
46- Week 1: contacts file only, prove they'll use it
47- Week 2: add interactions when they want history
48- Week 3: add tags, search helper script
49- Month 2: companies file if needed
50- Month 3: deals file if tracking opportunities
51- Only then: consider web UI or more complex tooling
52
53## What NOT To Suggest Early
54- Web application — massive scope increase, validate data model first
55- Email sync/integration — suggest BCC/forward workflow, much simpler
56- Calendar integration — manual logging is fine initially
57- Authentication — single-user local CRM doesn't need it
58- Mobile app — sync complexity not worth it early
59
60## Helper Scripts Worth Offering
61- Quick add from command line — reduces friction
62- Search across all files — grep/jq one-liner
63- Backup to timestamped zip — essential before migrations
64- Export to CSV — for users who want spreadsheet view
65
66## Data Integrity Habits
67- Backup before any bulk edit or migration
68- Check for duplicate emails before adding contact
69- Validate email format on entry
70- Keep created/updated timestamps — debugging lifesaver
71
72## Sync When Asked
73- Cloud folder (Dropbox/iCloud/Drive) for multi-device — simplest
74- Git repo for version history — good for technical users
75- Don't suggest complex sync solutions until files prove insufficient