A full-featured CRM built for operators who run on relationships, and owned by you for your whole working life. Warmth tracking, cadence alerts, one pipeline where every entry has a purpose, native AI tools, and Harold working across it and your knowledge vault from your AI tool.
The real app, running on invented demo data. You start with a clean system and populate it with your own contacts and history over time.
Every contact has exactly one type: what that person is to you. Anything else worth knowing at a glance (a board seat, an advisor, the press) is a label, and a contact can carry as many as you like. You choose both lists. The web app starts with these five; replace them with your own.
And there is one pipeline, not one per type. Every entry in it says why the person is there: "Finding a distribution partner", "Hiring a head of sales". The same person can hold two entries for two different reasons, each with its own stage and follow-up cadence. Nothing is placed in the pipeline automatically; an entry exists because a conversation established it.
Warmth is your judgment of how close a relationship is, whatever kind of person it's with. It's never tied to a type. Go too long without an interaction and Harold flags it in your brief; go longer and the web app steps the warmth itself down.
Audit trails, merge detection, bulk operations, and keyboard-first navigation.
Every interaction, note, email, and status change is logged with timestamps. See the complete history of any relationship at a glance. Nothing falls through the cracks.
complete historyDuplicate detection and intelligent merging. When you meet someone twice through different channels, merge their records. Interactions, notes, and labels all combined cleanly.
smart dedupFull keyboard-driven navigation. Search contacts, run actions, switch views, and trigger bulk operations. All without touching the mouse. Built for speed.
cmd+kSelect multiple contacts to update status or warmth, draft outreach, merge, or delete in one go. Import from CSV, export anytime.
csv import/exportAdd any field you need to any contact: deal size, investment thesis, LinkedIn URL, anything else. No changes to the database needed.
your fieldsBuilt on Supabase Realtime. Changes sync instantly across sessions. When Harold logs an interaction from your AI tool, the web UI updates live. No refresh needed.
supabase realtimeHelp is built directly into the CRM, no Harold session required. Contact research and meeting prep call an AI model with web search from inside the app (Google's Gemini, optional, with your own free API key from Google AI Studio), working from the CRM record and the web. Outreach drafts start from a template for each type of contact. Ask Harold itself, in your AI tool, to research someone or prep a meeting, and it also draws on your knowledge vault: meeting notes, decisions, intel.
One-click enrichment pulls web data, news, and background into any contact profile, alongside what the CRM already holds. For vault context too, ask Harold in your AI tool.
A starting draft for each type of contact, filled in with the contact's details. Anything it doesn't know is left as a visible blank, so nothing confidently wrong goes out. Available right from the contact detail page.
Generate a structured brief for any upcoming meeting: attendee backgrounds, relationship history, open tasks, and talking points. Built into the CRM.
What this gives you: your data in your own Supabase database, an app you can run on your computer or deploy wherever you like, and an open standard (MCP) that lets your AI tools reach your contacts.
Harold connects your CRM to a knowledge vault, task management, alerts and daily playbooks, with an optional multi-model AI council. The CRM doesn't work in isolation. It works because the whole system works together.