Summary: Instead of subscribing to HubSpot or Pipedrive, I built my own CRM with Claude Code - tailored exactly to my daily outreach work. Automatic contact detection from the inbox, a follow-up system that forgets nothing, and newsletter sending that respects provider limits. Runs entirely locally, costs nothing per month, and can be handed to colleagues with a double-click.
For a long time I did outreach with spreadsheets and an overflowing inbox. At some point it became clear: either I buy a CRM that has to adapt to my process, or I build one that adapts to me. I did the latter – with Claude Code, in a few weeks, without typing a single line myself. Exactly the case I described in my last article on custom software, just this time tested on myself.
The problem wasn't software – it was grunt work
Keeping contacts current, not forgetting follow-ups, sending newsletters without landing in spam filters – none of that takes much intelligence, but it does take constant attention. Exactly the kind of work you should describe properly once and then automate, instead of doing it fresh every week.
What the tool can do today
Contacts appear on their own. The CRM reads my inboxes via IMAP, automatically detects who's new, matches people to their companies, and remembers when contact last happened – in both directions. I don't create contacts. I write emails, the rest happens in the background.
Follow-ups that don't depend on memory. Whoever doesn't reply after a first outreach automatically gets a follow-up date stamped. An overview shows overdue, due-today, and due-this-week follow-ups side by side, plus a list of recently sent and received emails with one-click buttons for "follow up again in 3, 7, or 14 days."
A dedicated tab for quiet contacts. Whoever's been silent for 30, 60, or 90 days shows up sorted by "last active" – the most promising reactivations at the top. One click opens a pre-filled email. As soon as I write and the reply gets imported, the contact automatically disappears from the list.
Newsletter sending that knows provider limits itself. IONOS allows 2,500 emails per day per mailbox – the CRM counts along, automatically pauses for 25 hours once the limit is hit, and picks back up the next day on its own, without me having to think about it. Plus: image uploads that automatically become email attachments instead of external links, personalization with name placeholders, a live dashboard during sending with an error report, and automatic CSS inlining so HTML newsletters look the same in Outlook as they do in Apple Mail.
Cleaning up instead of piling up. Contacts whose emails bounce land in a review list with a reason and can be archived in bulk – history stays intact, they just drop out of future sends. Whoever explicitly wants no more newsletters gets an opt-out switch right on the contact.
Daily backups, without me triggering them. Every night the database backs itself up automatically, compressed, rolling over fourteen days. The thought "hopefully nothing gets lost" is taken care of.
What it feels like to use
The interface is kept dark, with translucent glass surfaces that let the background show through – simple, but polished, without unnecessary flourishes. The exact aesthetic I also apply to Luftschloss projects: reduced, but with attention to detail in the places you see every day.
Runs locally, costs nothing – and can be shared
The tool runs entirely on my own machine. No cloud, no monthly subscription, no data sitting anywhere but with me. For colleagues who also want to use it, there's now an installer: unpack, right-click to open once, done – no terminal, no developer knowledge needed. Everyone gets their own private instance with their own inboxes.
Conclusion
This isn't a product I want to sell – it's proof that the math on custom tooling works differently today than it did two years ago. When a process annoys me every week, the question is no longer "is there a tool to buy for that," but "is it worth building my own in a few weeks." For my daily outreach work, it clearly was.