The Setup
A 15-year business held together with tape
Grant runs Shrink Masters, a heat shrink wrapping company in Franklin, Indiana. Fifteen years in business. 90% of his customers come back every year. He wraps boats for lake owners in the fall and industrial equipment for names like Nucor, Eli Lilly, and the Indianapolis airport the rest of the year.
And his entire operation was held together with tape.
The website was a Wix template with airplane repair copy still baked into it from whatever theme he bought. The customer list was a Google Sheet and a QuickBooks export. There were zero ads running. Every new lead came from word of mouth and a #1 Google ranking he got by accident.
So I rebuilt the whole thing. New website, a real CRM, and an automated ad funnel that turns a Facebook ad into a text message on his phone. It took about a week, and I did it with almost no code written by hand. AI did the heavy lifting on every piece.
This is the full teardown. I am not holding anything back. If you want to do this for a local business (yours or a client’s), you can copy this move for move.
What’s Inside
Three builds, plus how we fulfilled it
The Website
Killing the Wix site and rebuilding it as a fast, SEO-loaded machine. The scrape, the rebuild, and the engine that turned 8 pages into 47.
The CRM
A messy QuickBooks export into a segmented, tagged database with automations that ask for reviews and refill the calendar every season.
The Automated Ad Machine
A dedicated landing page, a warm pixel, and the wiring that turns a Facebook click into a text on the owner’s phone in seconds.
How We Actually Fulfilled It
The real order of operations. The stack, the prompts, the timeline, what to charge. This is the part you steal.
Chapter 1
The Website
The problem. The old site was on Wix. Wix has no code export, so there is nothing to migrate cleanly. It was slow, it was not built to rank, and half the copy was leftover template junk about airplane avionics and engine repair that had nothing to do with shrink wrap. A generic homepage was somehow ranking #1 for “boat shrink wrapping indianapolis,” which told me one thing loud and clear: the competition was so weak that a real site would run the table.
The rebuild. I moved the whole thing to Astro (a static site framework, blazing fast) deployed on Vercel (free hosting, instant deploys from GitHub). The contact form runs on a single serverless function wired to Resend so form submissions actually email the owner.
How the migration went
Scraped every page
Pulled the live Wix site with Firecrawl and saved the copy into one master document. That doc became the source of truth. I never touched the live Wix site again.
Pulled all 85 images
Hero shots, client logos, three photo galleries, straight off the Wix CDN. No stock photos, no placeholders. Real work, real trucks, real boats.
Cut the template junk
The airplane copy got deleted. Two “company values” that were construction-template filler got rewritten for shrink wrap.
Preserved the URLs that mattered
The pages already ranking kept their exact web addresses so we did not lose the Google juice. Anything that had to move got a 301 redirect (a rule that forwards the old address to the new one) so no ranking or backlink got orphaned.
The part that actually moves the needle: the SEO engine
Anyone can rebuild a pretty site. The reason this one wins is the programmatic SEO. Instead of one boring “service area” page, I built a system that spins up a unique page for every city and every lake the crew serves.
- 22 location pages (13 cities plus 9 lakes) each with genuinely local copy, an answer box for AI search engines, and the structured data (schema) that makes Google show rich results.
- 14 service pages (boat, pontoon, jet ski, RV, generator, oversized transport, and more), each targeting the exact phrase someone types when they need that specific thing.
- 3 category hubs and an industrial page anchored by the Nucor and Eli Lilly proof.
That is 47 pages that build in about 1.3 seconds, up from a dead 8-page Wix site. Every one of them is a fishing line in the water for a different search. The strategy is simple: the competition is Facebook groups and thin directories, so we blanket the map with real pages and own the whole area.
The takeaway: for a local business, the website is not a brochure. It is a net. One page per thing you do, in every place you do it. AI writes the unique copy for each so it is not thin duplicate junk, and a template renders all 47 from a single data file.
Chapter 2
The CRM
The problem. Grant’s customer list lived in a Google Sheet and a QuickBooks export. No way to text customers, no segments, no automation. His single biggest asset (a list of people where 90% buy again every single year) was just sitting there doing nothing.
The build. I put the whole thing into GoHighLevel, an all-in-one CRM that does contacts, texts, email, and automations in one place. For a two-person, non-technical field crew, one tool they can run from a phone beats a stack of five tools they will never open.
The four steps
Step 1 — Clean the data
The QuickBooks export was a mess. Split full names into First and Last, moved business names into a Company field, killed the blank rows and junk entries, and deduplicated by name, phone, and email. That turned a spreadsheet nobody could use into 108 clean contacts ready to import.
Step 2 — Tag and segment
This is where a list becomes a weapon. Every contact got tagged: existing-customer, then commercial (47) or residential (61), and lake-cordry-sweetwater for the 47 customers sitting on those specific lakes. That lake tag is the money. It becomes a “we’re coming to your lake this weekend” text segment.
Step 3 — Wire the website to the CRM
I built an inbound webhook (a URL the website form posts to) so every quote request from the new site lands in GoHighLevel as a contact automatically. No copy-paste, no missed leads.
Step 4 — Build the automations (the money-makers)
- New-lead alert. The second a form comes in, the owner gets a text and an email. Speed to lead is everything. An optional auto-reply texts the customer “got your request, quote coming shortly” so they do not shop around while they wait.
- Review-request campaign. When a job is marked done, an automation texts the customer the Google review link. The single biggest local-SEO lever there is. The plan: run it on the back catalog and go from 11 reviews to beating the competitor’s 35.
- Seasonal “coming to your lake” blast. Every fall, one text goes out to the lake segment: “We’re wrapping boats at Cordry this month, reply to book.” A list of repeat customers plus one seasonal text equals a full calendar.
One gotcha: any CRM will make you complete A2P registration (a one-time carrier signup that proves you are a real business, not a spammer) before texts will send. Do it early so it is cleared before you need it.
The takeaway: the customer list is the most valuable thing a local business owns and almost nobody uses it. Clean it, tag it by the thing that lets you sell to a slice of it, wire the website into it, and set the three automations. That alone is worth more than the website.
Chapter 3
The Automated Ad Machine
The problem. A homepage is built to inform. It is a terrible place to send paid traffic because it gives people ten things to do. An ad needs one page with one job.
The build. I built a dedicated landing page (/wrap-my-boat) that exists for exactly one reason: turn a boat owner’s click into a quote request. It is hidden from Google (noindex) because it is only for paid traffic. No nav to click away, no distractions, one goal.
The page follows a direct-response structure that works: a hero with the form above the fold (“Winterize your boat without moving it an inch”), a problem section (“A tarp is not a plan”), the mechanism (“Drum tight. Vented. Sealed to your boat”), real proof (a wrapped military fighter jet, 700+ pieces of Nucor equipment, a 50-foot bridge wrapped for a haul to Texas), and an FAQ that kills the real objections.
The wiring (this is the “automated” part)
Someone sees the boat ad on Facebook and clicks.
They land on /wrap-my-boat and fill out the quote form.
The Meta Pixel fires a “Lead” conversion event, telling Facebook “this person converted, go find me more people like them.”
The form submission hits the GoHighLevel webhook and creates a contact.
The new-lead automation texts the owner’s phone instantly.
A stranger’s Facebook click becomes a text on the owner’s phone in seconds, with zero manual work in the middle. That is the machine.
The pixel warm-up rule: install the Meta Pixel and confirm it is firing 3 to 5 days before you spend a dollar on ads. Facebook’s algorithm needs a warm pixel to optimize. Cold pixel, wasted spend.
Where the traffic goes: all paid boat traffic points at /wrap-my-boat, never the homepage. One ad, one page, one goal, one conversion event.
The takeaway: never run ads to your homepage. Build one distraction-free page per offer, wire the pixel’s Lead event to the form, and connect the form to your CRM so follow-up is instant and automatic. The ad’s only job is the click. The page’s only job is the quote. The CRM’s only job is the speed.
Chapter 4
How We Actually Fulfilled It
This is the part you steal. Here is exactly how to deliver all three builds for a local business, in order, with no technical background.
The order of operations. Do it in this sequence. Each piece feeds the next. Website first (the foundation everything points at, nothing works without a page to send traffic to and a form to capture leads). CRM second (once the form exists, wire it in so leads land somewhere and follow-up can fire). Ad funnel last (only run ads once the landing page and the CRM behind it are live and tested; ads into a broken funnel is just lighting money on fire).
The stack
Website
Astro + Vercel
Fast, free hosting, deploys from GitHub in seconds
Contact form email
Resend
Free tier, reliable, one function
CRM + texts + automations
GoHighLevel
All-in-one, phone-friendly for non-technical operators
Ads
Meta Ads + Pixel
Where local buyers already are
Analytics
GA4
Free, see what’s working
The builder
Claude Code
Wrote nearly every line, ran the scrape, cleaned the data
How AI did the heavy lifting
I do not write code. I direct it. Here is what AI actually did on this build: scraped the entire old website and pulled every image, rewrote every page of copy and wrote unique local copy for all 47 pages, cleaned and deduplicated the messy QuickBooks export into an import-ready file, built the location engine and the service engine and the landing page from data files, and wrote the serverless function for the contact form plus the schema markup for SEO.
My job was to know what to build and in what order. The AI’s job was to build it. That split is the whole game.
The timeline (about a week)
Scrape the old site, pull the images, capture the copy deck.
Rebuild the core pages, wire up the contact form, deploy to Vercel.
Build the SEO engine (location and service pages from one data file each).
Clean the customer export, set up the CRM, import the list, build the three automations.
Build the landing page, install the pixel and GA4, wire the funnel end to end.
Test the whole loop, verify the pixel fires, point DNS, go live.
What the client hands you (ask up front)
You will be blocked without these, so ask for them day one: the old website URL (you scrape it), the customer list (QuickBooks or spreadsheet export, you clean it), and access to their CRM account, Meta Business account, and domain registrar (you wire it, or you send them a short list of things to click and paste back).
The move that keeps this fast: give the client a one-page checklist of the values you need (the webhook URL, the pixel ID, the GA4 measurement ID, the API key) and have them paste them back. You do everything else.
How to sell it
This is three separate deliverables that each stand alone, which means three ways to price it:
- The website is the wedge. It is tangible, they can see it, it is easy to say yes to.
- The CRM is the retainer bait. Once their customer list is making them money on autopilot, they do not want to touch it, so you maintain it.
- The ad funnel is the upsell that prints. It is the piece with a direct, trackable line to revenue, so it is the easiest to justify raising your rate on.
Land the website. Prove it with the CRM. Scale with the ads. Then do it again for the next local business in town, because every one of them has the exact same three problems.
The One Thing to Remember
It’s one opportunity, not three problems
Every local business you drive past has a slow website, a customer list rotting in a spreadsheet, and no ads running. That is not three problems. That is one opportunity, and now you have the exact playbook to fix it.
You do not need to code. You need to know the order of operations and let AI do the building.
Now go steal it.
Work with Me
Want me on your problem for an hour?
Book a 1:1 call and we build the fix live — the workflow you want automated, the tool you can’t crack, whatever’s stuck. Direct, hands-on, no pitch waiting at the end.