Your City Posts This Online Every Day. Use AI to Sell It.

In this 53‑minute instructional video, Chris Koerner demonstrates how to build and launch a subscription‑based daily permit‑alert service for local contractors using Replit Agents. He starts by explaining the business opportunity: cities publish building permits online for free, and contractors (landscapers, fence installers, gutter companies, blinds/shutter installers, pool builders) would pay $99 / month to receive fresh, relevant permits directly in their inbox. He walks through the entire technical stack—creating a Replit Agent that pulls open‑data feeds (Dallas, then Chicago), tags permits by trade, builds a simple web app with a sign‑up flow, integrates Stripe for recurring payments, and uses Resend for email delivery. He shows domain purchase on Namecheap, automatic DNS linking via Replit, and publishing the site. Koerner then crafts a sales outreach script, adds a 30‑day money‑back guarantee, and runs a live outreach campaign to real contractors, documenting sign‑ups and payments. He also breaks down the operational costs (≈ $5.67 on Replit plus an $11 domain) and projects profitability (20 contractors = $2,000 / month). Throughout, he emphasizes removing friction for contractors, the scalability of the model to other cities and trades, and the importance of fulfillment over sales. The video ends with a call‑to‑action to use the provided prompts and start similar ventures.
Chapters
Every time someone pulls a permit for a new pool in Dallas, Texas, a fence company, a landscaper, and a patio guy all want that address. And the city posts every one of those permits online for free in any city, not just Dallas, every single day. But what's the move? You charge a contractor $99 a month to get those permits in their inbox every single morning. 20 contractors is $2,000 a month from a list that the city gives away for free and that AI will assemble and send out for you. I've got my clock right here, 1:11. I'm going to type one prompt, let Replit Agent build it, and spend the rest of the time trying to sell it. By the end of this video, you're going to have the exact prompts I use, the list of trades that actually buy these leads, and the exact message that I send the contractors to get their business. It's all going to be free in a Google Doc in the description. And at the end, I'm going to actually reach out to real contractors live and try to get one of them to pay me. No audience, plants. So if nobody bites, you're going to see that too. So the business here today is a daily permit alert. A contractor will pick their trade and their zip code, then every morning they'll get an email with the new permits that matter to them. That's it. And I'm going to build it with Replit Agents. Replit, the partner of the show, and I've built a bunch of stuff on it. You can find the link below. I use Replit every day in my actual life, so everything you're seeing here is authentic. Let's dive in. But before Before I touch anything, here's why this is a business. So when someone pulls a permit, they're about to spend real money, usually 5 or 6 figures, hundreds of thousands of dollars. A brand new house is going to need a fence, a yard, gutters, blinds, and a new pool will need a fence and a patio at a bare minimum. And the contractor who shows up first is usually the one that gets the job. And how do I know? Because I'm building a pool right now. We're in the thick of this in the real world. And with our tree service, We use this same strategy to find jobs. Now, there's a lot of ways to find jobs. You can use referrals, yard signs, pay for leads, but a lot of these paid lead sites sell the same homeowner 5 different leads. Not naming names, but Angels List, Thumbtack, HomeAdvisor, you know, so you're paying like $40 as a business owner to race 4 other guys to a phone call. But that's the old way. We're not doing that anymore. There are already companies selling cleaned up, Thermal data as a subscription. People pay for this. And why I love it is because there could be 5 to 10 business owners in every city doing the same business. There's room for everyone here. So today we're going to make a simpler version for one city and one trade and sell it only to the guys who need it. And here is the math. $99 a month, 20 contractors equals $2,000 a month. Your cost on this is going to be some credits and an email service. And once it works in one city, you just point it to the next city's data. In the same app. So here are the 5 trades that I would sell this to. Number 1, landscapers. Every new house needs a yard, and the builder usually stops at sod because he's not a landscaping business. Number 2, gutter companies. New home, new additions, same deal. Number 3, blinds and shutters. Nobody moves into a new house with bare windows. Okay. Number 4, pool builders. A new home permit on a big lot is just a pool conversation waiting to happen. And number 5, the one I'm building for today, because they get it from both sides, new homes and new pools and, you know, teardowns. And in a lot of cities, a new pool legally needs a new fence around it, mine included. So you're going to hear me say 2 different things. Number 1, open data. Okay, that is just like the city spreadsheet posted online and updated every day. Legally, they have to Host this stuff. Replit Agent is going to read that spreadsheet every morning for us. And the second thing you'll hear me talk about are tasks. So in our tree service, the climbers in the tree, the chippers chipping, the rake guy is raking, and everybody's going at the same time, right? They're working in tandem concurrently at the same time. Replit Agent also does that. I give it 3 jobs to do. Let's say build a website, make an agent, and Make an email automation, and it will look at all 3 at the same time. Don't overthink it. Let's start building. Okay. We're going to click new. We go chat. And here's my prompt. Build a web app called Permit Central for local contractors. Every morning, pull new building permits from the Dallas Open Data Portal at dallasopendata.com. How did I get that URL? I went to Google. I typed in Dallas Open Data Portal URL. There it is. Tag each permit with the trades that would want it next. Fence, landscaping, pool, gutters, and blinds. Contractors sign up, pick their trade and their zip code, and get one email every morning with the new permits that match. And a simple dashboard where they can browse and filter permits. Charge $99 a month with Stripe. Send email with Resend. Keep it clean and simple, built for a contractor checking it on their phone. All right, let's see what it cooks up. And remember, nothing goes live until we hit publish. All right, we can make any changes we want. Everything's reversible. I'm the boss here. It's working for me. Okay, it's going to start with the Dallas data feed, sign up payment, Stripe needs to be connected. Okay, we're going to connect Stripe, which is of course a payment processor, just by clicking that big blue button. Boom, it took about 8 seconds. Stripe is connected. That's it. Okay, Resend is who I use for, uh, email sending. I'm just going to log into my account. I'm just clicking the big black button, Permit Central, full access, click Add. Okay, there it is. I'm going to copy it. Don't look, no lookies. Back here, paste it, submit. Okay, now it needs to know which email I'm going to send emails from, which email address. I already have one in Resend. I'm going to type that in. What I love about Replit Agent is you don't need to know what to do. It just asks you for things. And then if I didn't know how to do any of this, I would just say, how do I do that? And it would tell me where to find it or how to do it or whatever. Okay, payment and email setup is in place. It's building the app. And connecting it to the actual permit fee. Okay, this is cool. It was like, oh, sorry, Chris, you screwed up, and they don't have an active data set at that website anymore. So I found the right one, didn't even have to do it myself. It's going to clearly point out which records are historical, which are new and fresh. This avoids charging contractors for new leads that aren't current. Daily fresh leads will need an accessible current sales. Look, if you click this right here, you can actually see What it's doing. A lot of these are being done at the same time. This is a task. This is part of what they call plan mode. It will split up, you know, a large plan like this into tasks and show you what it's doing as it's doing it. Boom. Know which permits mean work for your crew. Look at this. These are real permits. Foundation repair, $11,650. Replace HVAC, $3,500. These are real addresses, real permits. I never even went to this website. And now they're listed right here with what this is. Holy crap. Okay. And I didn't even have to like design it. It designed it for me as it was building out the actual infrastructure. Speaking of design, if we didn't like this design or we just want to change the headline or something, you just toggle from build to design and it gets really, really easy. It becomes a WYSIWYG editor. What you see is what you get. In other words, editing and building websites is a twofold that don't know how to code. So we'll just click this edit. I'm just going to make it simple. More permits equal more money. Save one edit. I just wanted to show you how you can make edits. And we want to keep building the actual infrastructure. We'll just toggle back away from design to build mode. Here's the thing about this business. The contractor is going to pay $99 to see the job before the other guy does, before his competitor does. One fence job off this list is worth $2,000, $20,000. So what's $99 to him? And I'm thinking the reason he's going to stick around is because it's so dang easy. It's frictionless. 2 words that every business owner needs to get tattooed on their forehead. If you were into tattoos, which I'm not, remove friction. Okay. Remove friction. Shows up in his inbox. He skims it. He makes a couple of calls. Hopefully he gets a job. The city already did the hard part. They collected all the data. It's just sitting there free, ugly, hard to use. And all we're doing is using an AI tool. We make it easy. That's the whole business. Removing friction. Okay. Okay. Remember nothing's published yet. We haven't yet published. We can still make changes, but it's just, to me, my mind is just kind of blown looking at the actual permits here. Like these are potential jobs right here. 2,000 records. And it's even telling us that some of these are old, which is great because we don't want to get in hot water. We can fix that. Let's go ahead and publish it so we can play around with it on the internet. This isn't going to be on a custom.com yet. It's going to be on reflet.com. I like that because then no one can accidentally find it until I'm ready for them to find it. So here's what I like about it. It's telling me other things I need to do that I don't even know about, right? It's saying, hey, the only leads we have right now are old. We need to get the new fresh, you know, updating ones. Cool. Start that and confirm paid access and one morning email template. Okay. So it's going to start on 2 tasks at once with 2 clicks. Boom. And we are publishing. Uh-oh guys, we hit some friction. We're trying to remove that. It's saying I have to make a phone call or send an email to the city of Dallas to unblock this stuff. Ah, no. Here's what I'm going to do. I'm going to change the dang city. There's freaking 50,000 cities in this wonderful country. Doesn't have to be Dallas. What's the purpose of vibe coding a website in my PJs if I were wearing PJs? If I have to call someone, come on. No. So instead of like, Hopping over to ChatGPT or Claude and doing all this research. Replit can do that too. Can you go to the research flow and find a better city to go to? You guys thought I was going to edit out the roadblocks, right? There's always going to be roadblocks. Big deal. I'll look for a large city with a working public permit API, no calls, account approval, and manual download. Yeah, you're right. Cool. And guess what? We're live. We are live. Swap out the word Dallas with whatever city we come up with. Look at this. It found all these cities. Austin, Chicago, yada, yada, yada. Chicago. Beautiful. Chicago's great. Go all in on Chicago then. And it's, it's waiting to send this because it's already working on something, but I'm impatient. So I'm going to click send now. That way it doesn't keep spinning its wheels looking for other cities because it doesn't know if I want to do Chicago yet. So usually I try to be patient there, but in this case, I want him to save some time and push it through. Okay. Look at this. Here we are. Chicago, Pummet Central, Chicago. It already made a bunch of changes for me. In its agent feature. So I'm going to apply those changes. I'm pretty bad at actually checking Replit's work because it never really gives me reasons to doubt it. So I always just hit approve. Do your own research. Okay. And remember, we already published this. Right now it's invite only. I want to make it public. And after you do that, you want to hit republish. So, so we can get this online and start promoting it. Okay. Our app slash website is live. Permit Central Chicago. We got pricing. But I don't see any actual permits like I did on the Dallas one. We gotta fix that. And remember in Replit, if you want to see what the site or the app actually looks like before you hit publish and poke around and play with it and test it, just click the preview pane right up here in the center of the screen. Okay, cool, cool. I'm seeing some leads here, but I wasn't seeing them on the actual website for some reason. But when I refresh, boom, there it is. I see them. So we're good. So I'm going to tell Frefflet we're good. Never mind. Okay, good. All right. Remember, the last mile of any project is the hardest to build, right? Last mile of a marathon is the hardest. The last mile for a shipping company is the hardest because it's the most inefficient. You're going in and out of neighborhoods or the second floor of a building. You know, you can't see the unit number on the door. The last mile is the hardest part. That's okay. You got to push through it. Now let's find some customers. Here's the fun part. I'm going to give you this prompt for free. In the description that will have my AI agent reach out to a ton of home service businesses in the greater Chicago area for me until we find a customer. You don't have to do this. Okay. Okay. There's my huge master prompt. Let me give it the URL for the app. And you know what? It looks pretty janky. Just, you know, permit-central.replit.app. I want to get a custom domain name. So very, very simple. Here's what I'm going to do. I like to use Namecheap. For my domain name, I'm going to go to Namecheap right here and search chicagopermitcentral.com because permitcentral.com is $5,000. I'm not paying that. Add to cart. We're going to sign in. One of the most important parts of making any app or website is connecting it to your own .com. And a lot of people are intimidated by how to do that. So I'm going to show you right now and you will not be intimidated anymore. Okay. Chicago Permit Central. Confirm order. Pay now. Okay, now we're just going to hop right back over to Replit. We're going to go to Tools, Publishing, Domains right there. Use a domain you already own, chicagopermitcentral.com. Replit is magic and it will see where that domain is hosted right now. And it's about to see Namecheap. Okay, right there, just purchased it. And you know what? Before we'd have to go into the DNS records and add the TXT record and TTL and you don't have to do any of that. Okay, all you got to do is type in the domain you just bought on Replit. It's going to say, oh yeah, you bought it on Namecheap. Cool. Log into Namecheap. I'm going to do that right freaking here. It's going to want my 2-factor authentication again. No problem. Connecting chicagopermitcentral.com. Now, is that long domain name ideal? It's not. You know what? What is ideal? Okay. Chicago Permit Central. 7 syllables. Not my favorite, but it is personalized at least. And if we ever make it outside of Chicago, then we would just change the name or we would make, you know, Dallas Permit Central or whatever. Okay. No thanks. Boom. That's it. It's done. Now it's orange. And in about 5 minutes, that light's going to be green right here. And then it's going to be fully connected. I'm going to republish it again. And I'm going to go back and tell my agent right here, chicagopermitcentral.com. Dude already has 2,699 permits pulled. All recent. That's amazing. Now the agent is just asking, what's the reply email? Like, where should people reply to you? I just gave my email. And then I'm going to say only pitch to 5 trades that the site actually supports. Ooh, you know what this needs? We need a no-brainer offer. Ooh, I love this. I'm going to tell the agent to switch up the outreach a little bit. Add a no-brainer offer to the outreach. If the business owner doesn't land a lead from our list within 30 days, we will refund their $99 in full. No questions asked, because guess what, guys? Before you say, oh, it's too risky because what if they don't? What if they're not good stewards of the lead, which they might not be? It doesn't matter because if our leads are no good, we don't deserve their $99. It has to actually work. All right. I know there are companies out there that sell, you know, a crappy bill of goods that don't actually work and they're still in business. We're not that. We're not doing that. Okay. So this is a good litmus test to see if the leads are actually good or not. And if they're not, we have to keep refunding people, then we got to fix something. Then we have a fulfillment problem, not a sales problem. I would rather have a fulfillment problem than a sales problem any day of the week, because sales is usually harder. Okay. Start sending to as many as possible. And look at that freaking thing right there. Boom. chicagopermacentral.com is green. Now we are ready to republish it. This is so cool. Boom. Republish with the new domain name. First list is in and verified. 22 fence companies, 22 landscaping companies, 44 total. 23 of them are email ready. 5 have a contact form on the website. 12 have only Instagram and Facebook DMs. And the other 3 industries, pools, gutters, and blinds, are still running. Oh, that's so cool. Every message is a full offer. Boom. Website is live at the new domain name. You can see right there at the top. Boom, boom, boom. Now we're good. That's such a good email. Hi, I'm Chris Koerner. I built Permit Central, chicagopermitcentral.com, which emails contractors every fresh Chicago building permit in their zip 7:00 AM. An $800,000 new construction permit just pulled on North Oakley Avenue in 60618, your home turf, same zip code that he's in, Ravenswood projects and all. And that yard is going to need landscaping before it needs anything else. Want tomorrow's list for your zips free, no card? Keep it for $99 a month, and if you don't land a lead in 30 days, I refund it in full, no questions asked. That is a no-brainer offer email. Should I send the email? Absolutely. Always allow. Boom. Now, if something was breaking about this app, I could have you, my agent here, log into Replit and fix it for me while I sleep. Now, just for funsies, let's see if this website actually works. Set up your trade. Okay. You've seen everything I've done to build this. Okay. Like continue with Google, like all this sign-in stuff. It just did all this. I don't even know what to say to have it do this for me. Just did it. So I'm signing in. Dashboard. Okay. Company name, Chris. Uh, let's say landscaping. 60614. Add. I can add other zip codes. Amazing user interface. 7 AM digest. Do I want that? Absolutely. Save and open permits. Okay. Landscaping. Cool. It shows me some, right? Which is great. But I'm gonna go ahead and pay as a customer so you can see it works. Hopefully it does. And no, don't worry. I'm not going to count this as doing my first paying customer. I'm not that lame. Go ahead and hit subscribe through Stripe per month. This is recurring and we're good. Look at that. No more paywall. I can keep scrolling and scrolling and scrolling. 113 pages, only landscaping. And I can look at pool permits if I want, but those are probably not applicable to me. When you click into it, you see this imported. Boom. Issued value. Why? And it even has a little explainer why it's triggered. Roof work may create an opportunity for gutter replacement. That is true. And if you want to see the official, like, origin of record, city record, you just click on that link and it's right there. It works, guys. It works. I didn't have to debug anything. It works. Now let's see how much it costs me to build this. I'm going to go to my usage here on Replit. You can do this, everything I did on the $20 a month plan. And these are all the projects I'm working on. You can see I'm not just doing this for the sponsored post. I actually work in Replit every single day. Right here, Permit Central, $5.67. It cost me $5.67 plus the $11 domain name. It cost me twice as much just to buy the domain name to put up this beautifully designed website with a Stripe integration that officially works. Beautiful. Now, what time is it? It is 9:58 PM. That's embarrassing, but I procrastinated a lot. The length of this video unedited is about 53 minutes, but I ate dinner, I got Chipotle, and I did a bunch of other stuff. It is still the same day and a different agent is sending out messages for me. Guys, sell it before you have it. Okay. $6 plus $11 for the domain name and we're in business. If you want to even save, you know, $17, go to the biggest fence company in town and say, hey, I'm going to build something like this. Just for you, your trade, your zip code, your logo, $1,500 to set it up and $200 a month to keep it running. Then you can have a customer before you even build it, before you even waste 53 minutes building it. If you can sell the same thing to a landscaper or a gutter company and a blinds company in the same city, and none of them are competing with each other, it's the same app. You could, you could copy and paste this literally in Replit and sell the same website with a different name or a different niche or a different city. Now, one of the kind of secrets about these AI agents like Muse and GrokBot and all that, when they're doing stuff like sending emails, they often want you to click, wow, send, send over and over. And it's very tedious. And it's like, well, that's not really done for you. So you get something like GrokBot, which is another agent just like Muse. Log into GrokBot and then you log into Muse with GrokBot and then you say, Go to this one chat called Permit Central, and the only thing you can do is click send, send, send. Every time it appears, just click send over and over. I'm going to sleep. You keep doing this, and it will. In fact, I'm going to do exactly that for this. You've got to come to grips with yourself on how much permission and allowance you want to give these agents. That's up to you. Do your own research. Not without risk, but I do it, and it's worked great for me so far. And if you wanted to fill out contact forms, that's even better. Because you don't have to keep clicking allow. It will do those in bulk without your intervention. So I just told it to focus on doing that. Tell you what, right now, guys, the first dollar in any business is the best dollar you'll ever earn in the world. Took me under an hour. Replit supports this channel. I support Replit. If you sign up with my link in the description and upgrade to Core, we're both going to get $10 in credits. So that'd be cool. You're going to get all the prompts and that exact contractor text in the free doc down there too. So go start something. And if you've got a weird way you're making money, I want you on the show. So go to tkoyes.com and we might see you next time on the Koerner Office.










