Overview
A custom CRM should mirror how the team actually sells: leads become opportunities that move through a pipeline of stages.
Data model
schema
leads(id, email, source, status)
opportunities(id, lead_id, stage, amount, owner_id)
activities(id, opportunity_id, type, occurred_at)
stages(key, name, probability)Diagram
Lead ──▶ Qualify ──▶ Opportunity
│
▼
Stage 1 → Stage 2 → … → Won
│
▼
Activities log
A lead progresses to a won opportunity via activities.
Automation
Trigger follow-ups and assignments from state changes; keep rules in one place so non-engineers can adjust them.