I replaced my CRM with a chat bar
Yesterday, I shared a LinkedIn post about cancelling my CRM subscription. Not because I don’t need a CRM—because I built something better in two days.
The whole thing runs from the command line. I type:
/crm who needs attention?
And it comes back with a prioritised list, with all relevant context included.
No dashboard. No clicking through profiles.
Here’s what I didn’t mention: this was my second attempt.
The first version was complex. I’d listed all my pains around CRM management—lead sourcing, outreach tracking, follow-ups—and used Claude to stress-test the gaps in my thinking. What I ended up with was a five-phase roadmap: a Rails dashboard to replace LACRM, a local database, and a Ruby CLI with a clean API for managing contacts by status and due dates. Automated pipelines. The works.
I was excited about it. But I also had the distinct sense I’d bulldozed a meeting with my opinions, so instead of pushing ahead, I asked Claude a question that—looking back—was the turning point:
Given everything I told you about my goals, how would you build this to make the most of AI? You know what I’m trying to achieve. Don’t touch my existing plan. Just tell me what you’d do differently.
Claude’s response was uncomfortably direct:
The plan we just built is an engineer’s plan. It’s clean, well-architected, modular—and it’s also weeks of work building infrastructure before it generates a single pound of coaching revenue.
Ouch. Then it said the thing I needed to hear: You don’t need a web UI. I am the interface.
I got excited, but it was the examples of what this could look like as a conversational skill that really set things on fire for me:
- /crm who needs attention — prioritised action list
- /crm I sent requests to Alice, Bob, Carol — updates all three to Requested
- /crm Alice accepted — updates status, shows me relevant info
- /crm Sharon disco call went well, she’s interested in 3-month package — adds note & follow-up item
- /crm pipeline — Claude formats a summary if you want the overview
- /crm import leads.csv — same import, but triggered conversationally
The Rails dashboard was a reimplementation of LACRM. But LACRM’s interface exists because LACRM doesn’t have a brain. Claude does. An AI-native CRM doesn’t need a pipeline bar chart—it needs me to say “who should I message today?” and get back a name, a reason, and a draft message based on the context it already has.
A LACRM replacement isn’t a better LACRM—it’s a system where you never open a dashboard because Claude already told you what to do this morning.
I wasn’t just defaulting to building a UI. I was defaulting to building tools that help me do work, when the better move was having AI do the work directly. There’s a real difference between “help me build a CRM” and “here’s my pipeline data, every morning tell me what to do and draft the messages.” The first one takes weeks and then I manage it manually. The second one works today and is 100x more intelligent.
So what actually got built? A Ruby CLI that stores everything in an SQLite database. One conversational skill—/crm—that wraps the CLI in natural language. I created it all in a few hours, and then set Claude on importing all my LACRM data from some CSVs. By the end of the day it was fully functional.
The SQLite database and CLI are important. They create a well-defined schema, a clear API and structured data that Claude can query, update and reason about. This is engineering 101 and it still matters: get the data layer right and everything else follows. The difference is that “everything else” used to mean months of UI work. Now it means a conversation.
That was it. No phases three through five. No Rails. No web UI. Just enough scaffolding for Claude to operate on, and then real usage driving what gets built next.
Three weeks in, I still haven’t felt the need for a dashboard. When I want a pipeline overview, I ask for one. When something’s not working—like when I noticed it wasn’t surfacing leads who’d gone cold after initial conversations—I described the problem mid-task, and it was fixed. The tool evolves through dialogue, not through feature requests and sprint planning.
The mistake is in framing this as AI helping you build faster. It’s not acceleration—it’s a sideways leap. You’re not running the same race with better shoes. The presentation layer, the thing we’ve spent entire careers on, might just not be the point anymore. The very way we interact with data is shifting.
This isn’t a niche insight for people who live in the terminal, either. In the last few weeks, Linear, Posthog and Attio all shipped redesigned homepages. The centrepiece of each one isn’t a dashboard—it’s a chat bar. The companies building the tools we use every day have quietly arrived at the same place.
I’m still an engineer. I still want to build the Rails app. But next time you’re sketching out a plan for something—an internal tool, a personal project, whatever—try what I did. Build your plan, then ask the AI how it would build it. Let it teach you something. The way you’ve been building your entire career might have just been flipped on its head. It was for me, and I’m still adjusting.