Modern Creator
Brendan Jowett · YouTube

How To Build Your CRM With Claude Code (Complete Course)

A 15-minute screen-share that takes you from blank terminal to a live, deployed CRM with email notifications and background automations — no code written by hand.

Posted
3 days ago
Duration
Format
Tutorial
educational
Views
2.5K
106 likes
Big Idea

The argument in one line.

Describing what you want in plain English to Claude Code is now sufficient to build, deploy, and automate a production CRM that replaces HubSpot or Go High Level — no coding knowledge required.

Who This Is For

Read if. Skip if.

READ IF YOU ARE…
  • You are paying $50-200/month for HubSpot, Go High Level, or a similar CRM and want to own the equivalent instead.
  • You run an agency or small team that needs a custom internal tool tailored to your exact workflow, not a generic SaaS.
  • You have tried Claude Code for small scripts but are not sure it can handle a full deployable web application.
  • You want to add email notifications or background automation logic to an existing Claude Code project and need a working example.
SKIP IF…
  • You need enterprise-grade data compliance, audit logs, or role-based access controls out of the box — those require additional engineering beyond what is shown here.
  • You are looking for a no-code tool; this workflow still requires giving Claude Code access to Railway and a Resend account.
TL;DR

The full version, fast.

You can replace a commercial CRM subscription by describing what you want to Claude Code in plain English, then letting it build the app, deploy it to Railway, and return a live URL — all in about ten minutes of unattended work. The same verbal-instruction loop handles API integrations: telling Claude to send an email when a lead reaches a certain pipeline stage causes it to find and wire Resend automatically. Background automations run server-side on Railway whether the browser is open or not. The catch is a one-time setup of Railway and Resend accounts before Claude can self-direct the deploy and email steps.

Free for members

Chat with this breakdown — free.

Sign in and you get 23 free chat messages on us — ask for the hook, quote a framework, find the exact transcript moment, generate a markdown action plan. Bring your own key when you want unlimited.

Create a free account →
Chapters

Where the time goes.

00:0000:29

01 · What is covered

Promise: cancel HubSpot/GoHighLevel, build a fully custom CRM with Claude Code.

00:2903:19

02 · Real CRM demos

Two live apps: a content pipeline CRM and an agency CRM with ~1,000 contacts, Fathom integration, AI enrichment/scoring, and company chatbot.

03:1904:30

03 · Prompting Claude Code

Plain-English spoken spec dictated via speech-to-text covering pipeline stages, contacts, companies, analytics.

04:3005:41

04 · Hosting on Railway

Why Railway; how to ask Claude to deploy there; one-time auth setup.

05:4107:07

05 · First look at the built CRM

10 minutes unattended — Claude built and deployed a working pipeline app with no additional input.

07:0708:39

06 · Testing leads, contacts, pipeline

Adding a lead, moving stages, clicking into profiles, contacts tab, companies tab, analytics.

08:3909:07

07 · Railway deployment overview

Quick look at what Railway auto-created; reassurance that you do not need to understand the infra.

09:0709:59

08 · Integrating external APIs/MCPs

Pattern for connecting any external service: just tell Claude what you want it to do.

09:5911:54

09 · Email notifications with Resend

Verbal instruction to email on Closed Won — Claude chose Resend, wired it, sent a real test email.

11:5412:36

10 · Testing the email automation

Created a second test lead, moved to Closed Won, received the email notification live.

12:3612:40

11 · API vs MCP

Brief clarification: Claude decides which connection type to use; does not matter as long as it works.

12:4014:58

12 · Building background automations

60-second lead advancement demo proves server-side automation runs 24/7 with browser tab closed.

Atomic Insights

Lines worth screenshotting.

  • A plain-English CRM spec typed into Claude Code produced a fully functional deployed web app in ten minutes with zero manual code.
  • Railway is the missing link for Claude Code projects — without a cloud host, the app only lives on your laptop and teammates cannot access it.
  • Claude Code will read third-party API documentation itself and wire the integration; you do not need to look at the docs.
  • Resend is the right email layer for AI-built apps because it handles transactional email from a domain you own, avoiding Gmail self-send workarounds.
  • Background automations on Railway run 24/7 even when the browser is closed — the server is the clock, not the client.
  • Speech-to-text for your Claude Code prompts is faster than typing and produces richer specifications without extra effort.
  • Claude Code reuses credentials it has already set up in previous sessions — connecting Railway or Resend once means future projects inherit the connection automatically.
  • The gap between a generic SaaS CRM and your exact workflow is closed by features you describe verbally, not by code you write.
  • Start with fundamentals, get something visible, then layer features iteratively — that is how complex internal tools stay manageable.
  • API vs MCP is a distinction Claude Code makes for you; you describe the integration goal and Claude picks the right connection method.
Takeaway

Claude Code turns a spoken CRM spec into a live app.

WHAT TO LEARN

The bottleneck is no longer code — it is knowing what you want and having the hosting account set up.

  • Describe your requirements in plain conversational English, including the hosting target; Claude Code treats that as a complete spec and builds without follow-up questions.
  • Railway is the one required piece of external setup — without a cloud host, the app cannot be accessed by teammates and automations cannot run 24/7.
  • Claude Code reads third-party API documentation autonomously; telling it to add email notifications is enough for it to find, evaluate, and wire Resend on its own.
  • Transactional email services like Resend are the correct layer for CRM notifications — they send from a domain you own rather than forwarding from your personal Gmail.
  • Background automations in a Railway-hosted app run on the server regardless of whether any browser tab is open, enabling real scheduled workflows without client-side polling.
  • A one-time authentication of Railway and Resend inside Claude Code persists across projects — future apps inherit those connections automatically.
  • Starting with a minimal spec and layering features iteratively prevents scope creep and keeps each Claude Code session focused on a verifiable outcome.
  • The API vs MCP distinction is one Claude Code makes internally — you describe the integration goal and Claude picks the connection method; you do not need to choose.
Glossary

Terms worth knowing.

Railway
A cloud platform for hosting web applications. It provisions servers, manages deployments, and assigns a public URL — Claude Code can create and deploy Railway projects autonomously once an account is authenticated.
Resend
A transactional email service that sends programmatic emails (notifications, alerts, confirmations) from a domain you own, rather than from your personal Gmail account.
MCP (Model Context Protocol)
A protocol that lets Claude connect to external services through a standardized interface, similar to an API call but with more structured tool definitions that Claude can discover and use automatically.
Lead pipeline
A CRM concept where potential customers move through defined stages (New Lead, Contacted, Qualified, Proposal Sent, Closed Won) so a team can track deal progress at a glance.
Fathom
An AI meeting notetaker that records and summarizes calls; used as a data source piped directly into a CRM to auto-populate lead and company records from meeting notes.
Transactional email
System-generated emails triggered by user actions — a lead moving stages, a form submitted, an order placed — as distinct from marketing broadcast emails.
Resources

Things they pointed at.

04:30productRailway
10:40productResend
00:33toolFathom
Quotables

Lines you could clip.

07:32
This is a replica of, like, a lot of CRMs that are out there that you'd have to pay for in order to just get this ability, which is so incredibly basic.
Punchy comparison that lands the value prop in one sentence.IG reel cold open↗ Tweet quote
01:31
These are features that you would not be able to get very easily through HubSpot or Go HighLevel at all.
Direct competitor takedown — high shareability for agency audience.TikTok hook↗ Tweet quote
14:20
This is a server that's running in the background. So since we've programmed it to run an automation in the background, that's happening right now in the background of the app that's running on that railway server.
Explains the 24/7 automation concept in plain terms.newsletter pull-quote↗ Tweet quote
The Script

Word for word.

Read-along

Don't just watch it. Burn it in.

See every word as it's spoken — crank it to 2× and still catch all of it. The same dual-channel trick behind Amazon's Kindle + Audible.

analogy
00:00Today, I'm gonna go through how you can build your own fully custom CRM system by using ClaudeCode. You're gonna be able to cancel your existing HubSpot, GoHighLevel, whichever platform you're currently using. You can completely cancel those subscriptions and use your own fully custom built system.
00:14So not only is this gonna be way more customized to everything that you do day to day, but you're actually gonna be saving money on this as well. At least from the work that I've been doing, building my own custom applications, especially CRM systems, has probably been one of the biggest advantages from a productivity standpoint.
00:29For example, this right here is my content CRM. I manage all of my content that I'm releasing here on YouTube and everywhere else. And because this entire application was fully created by myself, I'm able to add in any kind of very specific and niche features that I wanna use into it.
00:43This entire app is planning content, managing content, scheduling it, literally doing so much. And this right here is the CRM system that we use internally for our agency, and this almost has a thousand contacts, 500 companies stored in it. I don't wanna leak any sensitive data, but this app is incredibly powerful.
00:59We've got this directly connected into my Fathom meeting notetaker software, so all of those meetings come into our CRM and into the leads and the company specifically. We've got the ability to manage our entire lead pipeline through this as well. So your common CRM features, obviously, you can build all of them in.
01:14We can obviously have these different leads in different stages. Here's an example for new leads that come in. You can see right here we've got an automatic AI enrichment.
01:21We've got automatic AI scoring if it's a warm lead or cold lead. We've got lots of company intelligence that we're gonna be adding into this as well. We can assign people to the company.
01:29We can assign deals and projects, upload onboarding forms. We've got a system to automatically generate a project flow diagram. It's obviously using AI to generate that.
01:38We can generate AI summaries. We've got a chatbot that we can talk to specifically about that company, about any information that we need. So this is pretty well built.
01:46And the point that I'm trying to prove is that these are features that you would not be able to get very easily through HubSpot or Go HighLevel at all. So for this video, I'm gonna do a full breakdown on exactly how we can start from scratch in Claude code to having one of these CRM systems fully functional deployed on the Internet so not only you, but all your team members can use it as well.
02:05And I'll just go through everything that I've learned from building a ton of internal systems for our agency, whether that's through best practices or through how to get MCP servers connected or APIs connected to plug into all different types of applications to really build the best system possible. Diving right in, this right here is obviously Claude code.
02:23This is gonna be the main tool, the main thing that we're gonna be using in order to build out our CRM system. I'm currently using Claude code through Visual Studio Code. It's just a desktop application in which allows me to run Claude code through it, and it makes it a little bit easier to manage if you're gonna be building applications.
02:37But otherwise, this is possible to build directly through the Claude desktop app as well if you are familiar with that. So getting started, as simple as it sounds, we are pretty much just gonna tell Claude Code that we are gonna be looking to build a CRM system. And really just by speaking in plain English, we can give it all of the requirements that we're looking for in this application.
02:54Obviously, we wanna make sure that it knows that we want it to be a web application, so I'll mention that as well. But I'm just gonna detail everything that I'm looking for in a CRM system that I wanted to replicate. So I'll get Claude to do that first, and then once we've got some sort of an interface going, once we've got that web app going, then I'll dive into integrating into other external applications, whether that's through MC servers or API calls, and then really just work through what the best stack is if maybe we wanna build automations into our applications as well.
03:19Hey, Claude. Are you able to go ahead and build me a CRM system? I want this to be able to store a bunch of contacts in it.
03:26I wanna build out a lead pipeline as well, so we wanna have multiple different stages to move these leads throughout. This is gonna be for our agency, Inflate dot ai. We just want a brand new CRM system from scratch.
03:37Don't populate it with any leads at the moment. We can add them in later ourselves, but this lead pipeline should have about five stages.
03:43You can come up with exactly what those stages are. We also wanna have the ability to look into these leads and look into their profiles and details. We also wanna have dedicated company profiles as well to be able to view into.
03:56And we also wanna have an analytics tab as well in the CRM system where we're gonna be able to view how many leads are coming through, how many deals are being done. Just a really good analytics tab that really just showcases a very high level what's going on across the entire business and CRM system.
04:10Okay. I just use my speech to text tool to speak that all out. Obviously, this is a bit quicker than typing it, so I would recommend doing that.
04:16And really what I would recommend is just starting as basic as this. Just get the fundamentals out, get something built so you can see how it happens in real time. And the one thing that I will add onto this in order to actually get this application hosted hosted on the Internet, the one thing that we do need to use is an application called Railway.
04:30So ultimately, what this is is it just allows us to host our applications on the Internet. We aren't gonna be able to just host our web app through Claude code locally on our computer or at least you wouldn't want to do that. And we obviously do need to do this if we want other people on our team to be able to access the CRM system, obviously.
04:45So you don't have to use Railway. There's plenty of other sort of server cloud providers out there, but this is one that I've just found works quite well for using with ClaudeCode. Once this application is built, can you also go ahead and create a project in Railway and have the web app hosted in Railway and then provide me back with the live hosted link so I can go ahead and view this application?
05:03Now I personally have already set up my Claude account with Railway itself, so it will probably go ahead and figure out how to integrate itself, uh, because I've already done that connection before. But in your case, when you send this through, it might come up with a couple of prompts to log in to your Railway account with a Railway API key.
05:20Just follow through with those instructions. It should be pretty simple. You can just ask Claude if you run into any issues.
05:25Anyways, I've just sent that message off right now. We can see it has been sent off and Claude is now at work. Pretty much just gonna let this run for, you know, probably a few minutes here where it's gonna start to build.
05:34It might have some questions for us. We're just gonna go through, accept those questions, answer it as we would, and it should be really easy. Okay.
05:40So finally, Claude code has wrapped up. It has been about ten minutes in order for it to get to this stage. It didn't really ask me any questions.
05:47It kinda just went through and knew everything that it needed to do. I can scroll through here and you can see just the level of detail that it went into to build out everything. Obviously, we gave it enough detail to know exactly what to build and where to deploy it with railway as well.
05:59Well, I can just scroll through this. You can see I didn't provide any additional input at all. Just went through, decided what needed to be built, and just continued to go on.
06:07Obviously, because I told it that I wanted a web app and that I wanted to deploy to railway, that was more than enough for it to know exactly, you you know, the specific things that it needed to do here. Once again, as I mentioned earlier, because I have connected Railway through this instance of ClaudeCode before, I didn't have to authenticate it again.
06:22But chances are if you are doing this for the first time, you will have to authenticate your Railway account. So it's more than likely that Claude code will tell you that it needs to authenticate. It might provide you with a URL to do a login to then create your own account, or it might ask for an API key or something like that.
06:37Either way, that's the only setup that you will need to do. Once it's connected to that Railway account, it will do everything for you. You don't even have to jump into Railway really yourself.
06:45It will do everything it needs to in Railway and come back and provide you with the live link. And so clicking into that live link, this right here is the CRM that was just generated. So the first tab we've got is our lead pipeline I talked about.
06:56It looks like we can add a lead through the pipeline, and then it would probably give us the pipeline. So I'll go ahead and just test this out and just see what's going on. We don't have a company or a primary contact, so I'm just gonna continue to click through and just see what's happening.
07:07But, really, this is the process of building. I've never seen any of this before, and we can obviously then go to Claude Co. To make updates.
07:14But here we go. We've now just added the lead right here. Um, in our lead pipeline, it looks like we can move this between each stage as well, which is cool.
07:21Looks like it's working pretty quick and updating quite quick as well, which is awesome. And And if I go ahead and click into this lead, looks like it opens up into a page as well, which is awesome. We've got different stages we can move from here.
07:31We can edit the lead as well. So legitimately, this is a replica of, like, a lot of CRMs that are out there that you'd have to pay for in order to just get this ability, which is so incredibly basic.
07:41We've then got our contacts page, which I told it to build as well. Looks like we could just add in a contact here as well so we can obviously just test that everything works as we'd expect it to. And there we go.
07:51Added the lead in, and now we can see the contact for myself as the lead as well, which is we could probably go back to the pipeline. We could probably assign ourselves now as a primary contact to a project in the pipeline as well, which is cool. Jump into companies.
08:04We can create a company. And the analytics tab here as well, which looks like it's already connected into the part of the pipeline as well. We can see the lead coming in here as well.
08:12So, legitimately, this almost looks like a go high level to be totally honest with you. And this is just a really good core foundation. Now that we can track this, you know, basic pipeline, we can then add the next feature and the next feature, and that's pretty much how I manage to build the other internal systems that we currently use.
08:26And really just working back from the work that I'm doing and just thinking about how can I automate as much of this as possible? And then if there is some sort of an idea I have, then I can just tell Claude to make that feature or make this a possibility and just see what happens. And just for your knowledge, this is Railway, so this is what it automatically created in my Railway account.
08:44This is the deployment of the CRM. You really don't have to even look at this to be totally honest. Just make sure that it obviously works.
08:50Inside of Railway, you're gonna be getting a couple of nodes in a project on Railway, which is gonna be associated with the application that you're hosting. Once again, you don't have to even understand this at all.
09:01Claude code knows exactly what's going on here, so you can just jump directly into the app and start to send out some features. When it comes to integrating with external apps through API calls or MCP calls, they are super easy to do as well. Once again, just come back to our instance of ClaudeCode here, and I can pretty much tell it if we wanted to, you know, integrate with some external application.
09:19Maybe it's gonna be Google Meet or maybe the Fathom meeting notetaker app, we can pretty much come here and just say that I would like to integrate with this application. And as you can imagine, ClaudeCode will go ahead and look through the documentation of that other app. It will figure out everything necessary to integrate with it, and it will go ahead and make that connection.
09:35So let's say we wanted to send myself or a member on the team an email. Whenever a lead gets moved into the closed or one section here on the pipeline, so this gets moved all the way over here, we want a specific email to be sent to myself or somebody on the team about this movement. I can easily come back to Claude here and tell it exactly what I just told you in terms of when somebody gets moved to the closed one section, I would like an email to be sent off to myself.
09:58Hey, Claude. When somebody gets moved into the closed or one section on the lead pipeline, I would like you to have an email get sent to my email, brendan@inflate.agency, to notify me that somebody has been moved into this stage.
10:12Now there is a couple of different ways that it could build this. It could natively integrate through Gmail, through my Gmail account. The issue with that is that I would be sending myself an email as opposed to some other email address.
10:21For an application like your own CRM system, what I would recommend using is like an external third party email sending system. So an example of that would be using an application like a resend. So we'll see what ClaudeCode recommends, but I would recommend using something like resend, which I can cover in just a second.
10:35Just quickly taking look at the process that it's going through as it's building right now. I haven't touched anything. We can see that it has actually recommended to itself to use the resend sending email system in order to integrate into this.
10:46So I have used resend before, so it's probably taken some inspiration from another app and done that. But very high level resend is just like a third party email sending service, so we're gonna be able to send emails from emails that are not our and it is best used for transactional emails. So, obviously, in our CRM system, sending internal emails is like a transactional email.
11:03It's not marketing or communicating really. And it looks like I just got notified because I just got this email sent off from ClaudeCode just then, uh, with this test email that I just sent myself from the CRM system, of course. Uh, because I have set up resend inside my ClaudeCode instance, it was able to, uh, use that email that we'd already connected before.
11:20And then we go. So it seems to have completed now. It tells me that it sent off the test email, which is what we got.
11:25Just showed you that one. And, yeah, it's all done. Ultimately, it went through and looked at the resend documentation to recognize what it needed to use in order to send the email through the application.
11:35Once again, because resend was already set up on my end, I had a domain connected to resend already. So it just decided to use the one that was already on my account. Once again, you would need to set up your own resend account, connect your own domain, and then once again, just let ClaudeCode handle everything else.
11:50You do not have to do any code work yourself. And just to test this further, let's go ahead and create a brand new lead. I'll call this the test two.
11:58Give it a new deal value, and we will create create lead, and then I'll move it over to the closed one section. And hopefully, couple of seconds, we might get an email from this system. And there we go.
12:09Just got this email from the system. We can see here deal one test two. That's the name that I gave it.
12:1310,000, that's the amount that I put in. Didn't fill in the other fields, but this is the email that we got. Obviously, if we wanna modify this, just jump at a Claude code, tell it to modify it, uh, but this is all set up and is now connected, uh, into an email sending system.
12:26So that really is the process for integrating MCP connections and API calls as well. Claude is gonna be the one to decide if it's gonna be use an MCP server or an API call through the application. And honestly, it really doesn't matter as long as it does the job that you're expecting.
12:40When it comes to building automations in these apps as well, which I know is a big thing that everybody wants to do, no doubt about it. That's obviously very possible to do. Obviously, because this app is hosted on Railway, it's running twenty four seven.
12:52So we can just come to Claude Code and tell it to build us an automation. If we want all of our new leads to get moved into the contacted stage after one week for whatever reason, that is something that I could tell Claude Code to do very easily. Just for demo purposes, I'm gonna tell Claude Code that whenever I create a new lead, after sixty seconds, I want it to get moved into the contacted stage.
13:11What I'll do is I'm also gonna close the app as well. I'll completely just close the tab of the web page, and then we'll see if after sixty seconds, it got properly moved over, and then that obviously proves that we can build automation workflows. Hey, Claude.
13:22Are you able to make it so that when we add a new lead in the lead pipeline after sixty seconds, I want that lead to get moved into the next contacted stage in the lead pipeline? Okay. So it seems to believe that it is now built.
13:33It seems to believe it also tested it and it works as well, but I'll be the judge of that. Okay. So we'll create a brand new lead.
13:39I'm gonna call it test three. We're gonna give it a deal value, and we're gonna just keep it all the same. Create lead, and now I'm going to close out of that tab.
13:48And now I'm gonna give it sixty seconds. So, obviously, it was on that lead pipeline. We're now gonna wait for this automation in sixty seconds to trigger.
13:55And the key point that I'm trying to prove here is that this is a server that's running in the background. So since we've programmed it to run an automation in the background, which is the sort of clock to check all of the sixty seconds and then move it over to the next stage, that's happening right now in the background of the app that's running on that railway server.
14:10And if we can do this, we can really do any automation workflows that are running in the background, checking for statuses of different APIs to check for maybe new meetings from the Fathom Notetaker, which is something that we've done before, is something that would run-in the background all the time checking for a new meeting and then just making an update.
14:26Okay. And here we are. It's been more than sixty seconds, and you can see on the app, it has now moved it over to that next contacted stage after the sixty seconds, of course.
14:34So that automation, that workflow is now working. Obviously, that is incredibly basic. But just to prove the point that the tech is capable of doing that, we can now come to Claude here and tell it to do all kinds of automations to run-in the background for us.
14:46If you wanna see five Claude code skills that I genuinely couldn't live without and I use all the time inside of my Claude code operating system like I just showed you, check out this video right here where I break down all five of those Claude skills.
The Hook

The bait, then the rug-pull.

The promise is blunt: describe what you want, wait ten minutes, cancel HubSpot. What follows is a live proof of a production CRM built from a spoken spec, deployed to a public URL, and wired to send real email notifications — all inside a single Claude Code session.

Frameworks

Named ideas worth stealing.

03:19model

Verbal-spec to build to deploy loop

  1. Dictate spec in plain English
  2. Let Claude build unattended
  3. Claude deploys to Railway
  4. Iterate by talking to Claude

The repeatable pattern for building any internal tool with Claude Code.

Steal forAny internal tool project — CRM, project tracker, client portal
06:50concept

Start basic, layer features

Ship fundamentals first, see it work visually, then add features one at a time rather than spec-ing everything upfront.

Steal forManaging scope on any AI-built app project
CTA Breakdown

How they asked for the click.

VERBAL ASK
14:32next-video
If you wanna see five Claude code skills that I genuinely couldn't live without and I use all the time inside of my Claude code operating system, check out this video right here.

Soft next-video CTA. No subscribe ask, no product pitch. Clean exit.

MENTIONED ON CAMERA
04:30productRailway
10:40productResend
00:33toolFathom
FROM THE DESCRIPTION
PRIMARY CTAWhere the creator wants you to go next.
Storyboard

Visual structure at a glance.

open — cancel HubSpot promise
hookopen — cancel HubSpot promise00:00
demo — real agency CRM
proofdemo — real agency CRM00:29
prompt — spoken spec to Claude
valueprompt — spoken spec to Claude03:19
reveal — built CRM live
valuereveal — built CRM live05:41
integration — Resend email
valueintegration — Resend email09:59
automation — 60s background trigger
valueautomation — 60s background trigger12:40
CTA — next video
ctaCTA — next video14:32
Frame Gallery

Visual moments.

Chat about this