Contacts and a deal pipeline are a genuinely buildable core — the same shape as any CRM already on the register. The gap opens up if you want email tracking or automated follow-ups instead of manual logging.
Borderline
Effort: a weekendRunning cost: $0/mo to start
Why CanICodeThis says Borderline
Contacts, companies, and deals moving through pipeline stages on a kanban board is a well-understood, bounded build
A simple activity log (calls, emails, notes) attached to each contact is ordinary CRUD
For tracking your own client relationships solo, this covers the real day-to-day need
The parts that'll cause problems
Automatic email tracking (open/click logged against the right contact) needs a real transactional-email integration, not just a database field
Follow-up reminders that actually fire on schedule need a background job, not just a due-date column
If you want a second person using it too, basic multi-user permissions add real scope
How I'd build this
frontend
Next.js
database
Supabase (Postgres)
auth
Supabase Auth
hosting
Cloudflare Pages / Vercel
MVP scope
Contacts and companies with basic fields
Deals on a kanban board with stages you define
A manual activity log per contact (notes, calls, meetings)
Single-user login
Postpone to v2
Automatic email open/click tracking
Scheduled follow-up reminders
A second team member with shared access
Reporting dashboards
What it actually costs to build
AI agent — with a subscription (Claude Pro/Max, Cursor, etc.)
$0 marginal
AI agent — pay-per-use API, no subscription
$43–$86 one-time
Hosting, once it's running
$0/mo (free tier)
Domain name, if you want your own
~$12/yr
Existing tools solving a similar problem typically run $14.9–$49/mo — see how they compare below.
The build prompt
Build me a personal CRM: contacts and companies with custom fields, deals on a drag-and-drop kanban board with stages I define, and a manual activity log (notes, calls, meetings) per contact. SQLite or Supabase behind a small API, single-user login. List view and board view over the same deal data. Keyboard shortcut to quickly log a new activity. Skip email tracking and automated follow-ups for v1 — manual logging is fine to start.