Your DIY Launch Kit
Here's the template, the prompt and the setup.
Everything you need to put your AI-ready website live on free hosting this week. Download it, fill in the worksheet, follow the steps.
Total time: about an afternoon. Total cost: $0, plus a domain if you don't have one. Paid tools below are optional and clearly marked.
What's in your kit
Start here
- Click through the live demo to see what you're building.
- Click Open the template on GitHub (or Download ZIP).
- Fill in the business worksheet below. It writes your setup prompt for you.
- Follow the 6 steps. Stuck? See fixes or reply to our email. A real person reads it.
Your business worksheet
10 minutesFill this in once. It writes your setup prompt below, ready to paste into Claude Code or Codex. Leave anything blank you don't have yet. It's saved on this device, nothing is sent to us.
Also have these ready:
Your setup prompt
Tested on this template: it fills every page, removes sample text, checks the build and lists what's left.
Set up this website for my local service business. It's a website template with sample content. Here are my details from the worksheet: - Business name: [business name] - What you do: [what you do] - Phone: [phone] - Email: [email] - Main city and state: [main city and state] - ZIP code: [zip code] - Other towns you serve: [other towns you serve] - Your services (comma separated): [your services (comma separated)] - Service radius: [service radius] - Year founded: [year founded] - License number (if any): [license number (if any)] - Google rating and review count: [google rating and review count] - Website domain: [website domain] - Hours: [hours] - What makes you different: [what makes you different] Do all of this: 1. Update src/config/business.ts with my details. If I left something blank, leave that field as it is and add it to your list at the end. 2. Replace the sample services in src/content/services (service-one.md and the rest) with one file per service I listed, named after the service (for example drain-cleaning.md, with a matching urlSlug). Keep the same frontmatter fields the sample files use, and update primaryServices in business.ts to match. If you can't rename files, overwrite them in place. 3. Replace the sample towns in src/content/locations with one file per town, my main city first. Write something specific to each town, not the same paragraph with the name swapped. 4. Rewrite public/llms.txt in plain English: what we do, where, and why people pick us. 5. If I gave a domain, set site in astro.config.mjs to it. 6. Rewrite the sample copy on the tool pages in src/pages/tools and the gallery page so it fits my trade. Keep calculator prices as they are unless I gave you real ones, and list them for me. 7. The posts in src/content/blog are samples. Update any that mention sample business details, and set draft: true on any that don't fit my trade. 8. Search all of src and public for leftover sample content and fix every match: "Your Business Name", "Your City", "(555) 555-5555", "5555555555", "Service One", "LIC-000000", "hello@yourbusiness.com", "[list what's included]", "$XX" and any other square-bracket placeholders. 9. Don't invent reviews, testimonials, awards, prices, stats or numbers I didn't give you. Where a page needs one, leave the sample in place and add it to your list. 10. Run npm install if node_modules is missing, then npm run build. Fix any errors until the build succeeds. 11. Finish with three short lists: what you changed, what I still need to add myself (photos, real testimonials, prices, anything blank above), and anything you weren't sure about.
Paste it into your AI helper in Step 3. No AI helper? Use your worksheet answers to fill in the files by hand.
Step 1: Get your free tools
10 minutes- Make a free account at github.com. This is where your website's files live.
- Download VS Code (free, from Microsoft) at code.visualstudio.com and install it. It's the editor you'll use to fill in your website. Think of it as Word for websites.
- Install Git (free) with the default options. VS Code uses it to save your changes to GitHub. If VS Code ever says Git is missing, this is what it means.
- Install Node.js (free, the LTS version, 24 or newer). It lets you preview the site, and lets an AI helper check its own work.
Step 2: Get your own copy of the website
5 minutes- Open the template on GitHub, click the green Use this template button → Create a new repository. Name it after your business and pick Private if you like.
- In VS Code, click the Source Control icon in the left sidebar → Clone Repository → Clone from GitHub. Sign in to GitHub when it asks, pick your new copy, choose a folder on your computer and click Open.
- Prefer not to use GitHub yet? Use the ZIP download, unzip it, and in VS Code go to File → Open Folder. When you're ready to go live, click Publish to GitHub in the Source Control panel.
Step 3: Fill in your business
15 to 60 minutes- Fastest: let an AI helper do it (about 15 minutes). Open your setup prompt from the worksheet above, then pick one helper below. Both install from VS Code's Extensions panel (the four squares in the left sidebar).
- Claude Code: search Extensions for Claude Code, click Install and sign in. Sign up with our referral link for a free week of Claude Pro. Cost: a paid Claude plan after the free week. Cancel before it ends if you only need it for setup.
- Codex, from the makers of ChatGPT: search Extensions for Codex, click Install and sign in with your ChatGPT account. About Codex. Cost: included with paid ChatGPT plans.
- Open the helper, paste your prompt, and let it work. It fills in every page, checks for leftover sample text, makes sure the site builds, and tells you what's still missing. When it asks to run commands like
npm installornpm run build, allow them. - Free: do it by hand (30 to 60 minutes). Open
src/config/business.tsand fill in your details. Every page reads from this one file. Then rewrite the sample services insrc/content/services/and towns insrc/content/locations/(one file each), editpublic/llms.txt, and setsiteinastro.config.mjsto your domain. - To get quote requests by email, grab a free access key at web3forms.com and paste it in place of
YOUR_ACCESS_KEY_HEREinsrc/pages/contact.astro. (Using GoHighLevel? It can capture this form too. See the CRM guide.) - Preview it: in VS Code open Terminal → New Terminal, type
npm install, thennpm run dev, and open the link it shows. - Save your work to GitHub: open Source Control, type a short note like "Added my business info", click Commit, then Sync Changes.
Don't want to do this?
Skip the code. We'll build it for you.
Most business owners would rather be on a job than in a code editor. We'll build a custom 20 to 30 page version of this site for your business, host it, and plug in the system that turns visits into booked jobs: missed-call text back, review requests and follow-up.
- 30 days free because you grabbed the template. Nothing is charged for 30 days.
- No contracts. Cancel anytime.
- Backend live in about 3 days, website in 7 to 10.
Compare the two plans · Talk to us first (15 min)
30 days free · No contract, cancel anytime · Performance Guarantee: make 2x your plan fee in your first paid month, or we work free or refund it.
Step 4: Go live on free hosting
10 minutes- Make a free hosting account at dash.cloudflare.com. The free plan is all you need.
- Go to Workers & Pages → Create → Pages → Import an existing Git repository, connect GitHub and pick your copy of the template.
- Set the framework preset to Astro. Build command:
npm run build. Output directory:dist. - Under Environment variables, add
NODE_VERSIONwith the value24. - Click Save and Deploy. In a minute or two your site is live at a temporary
.pages.devaddress. Every time you click Sync Changes in VS Code, the site updates by itself.
Step 5: Connect your domain
10 minutes- In your hosting project, open Custom domains → Set up a custom domain and follow the steps. If you don't own a domain yet, you can buy one right there (usually around $10 to $20 a year).
Step 6: Get found on Google, AI and local listings
2 to 3 hours, then 15 minutes a week- Search engines. Add your site to Google Search Console and submit
/sitemap-index.xml. Then add it to Bing Webmaster Tools (you can import straight from Search Console). Bing's index feeds Microsoft Copilot and other AI search tools. - Google Business Profile: the biggest lever for local calls. Claim or verify it at business.google.com. Pick your main trade as the primary category (this matters more than anything else on the profile), add secondary categories, list every service, set your service-area towns (hide your address if you work at customers' homes), and add your hours, phone and new website link.
- Keep the profile active. Upload 10 or more real photos of jobs, your team and your trucks, then add a few new ones every month. Post an update or offer every week or two. An active profile tells Google you're open and busy.
- Reviews. Ask every happy customer, the same day if you can. Copy your review link from the profile's Ask for reviews button and text it to them. Reply to every review, good or bad, within a couple of days. Reviews that mention the service and town help you show up for those searches.
- Local citations: list your business everywhere customers and AI look. Use the exact same name, address and phone on every one. Start with Apple Business Connect (Apple Maps and Siri), Bing Places, a Facebook business page, Yelp, Nextdoor and the BBB. Then add the ones for your trade, like Angi, Thumbtack, Houzz or HomeAdvisor. Keep a list of every login.
- Data aggregators. Submit your listing to Data Axle and Foursquare. They pass your details to hundreds of smaller directories, apps and maps for you.
- Local links. Join your chamber of commerce and trade association, and ask suppliers whose "find a contractor" pages you qualify for. A link from a local or industry site counts for more than dozens of random directories.
- Check where you stand. Once a month, ask ChatGPT, Google and Perplexity "best [your trade] in [your city]" and note who shows up. If you're missing, more reviews, a fuller Google profile and consistent listings are usually the fix.
Step 7: Launch checklist
15 minutesA site that's live and a site that's ready for customers are two different things. Check all of these before you share the link.
Optional
Run the business behind the website
Your site works without these. Add them when you want every lead tracked and followed up.
CRM: GoHighLevel + our snapshot
Paid tool, free trial Affiliate linkA website gets the calls. A CRM makes sure none slip through.
- Start a GoHighLevel account with our link. It's one place for your contacts, texts, calls, missed-call text back, review requests, follow-up and booking calendar. It's what we run our own clients on.
- Load our local service business snapshot so you don't start from a blank account. It installs our pipelines, automations and templates for service businesses, ready to edit.
- Add the external form script to your site. In GoHighLevel go to Settings → External Tracking and copy the tracking script. (Don't see it? Turn on External Tracking under Settings → Labs first.)
- In VS Code, open
src/layouts/Layout.astroand paste the script just above</head>. Addis:inlineright after<scriptso it reads<script is:inline src="...". Or ask your AI helper: "Add this GoHighLevel tracking script to every page" and paste it in. Commit and Sync Changes. - That's it for the site. Every quote request from your contact page now lands in GoHighLevel as a contact, with its source and UTM info, and you still get the email from Web3Forms. The script also records page views.
- Send a test quote request from your live site. In GoHighLevel, the form now shows up as an external form (forms appear after their first submission).
- Go to Automation → Workflows → Create Workflow. Add the trigger External Tracking Event, set the event to Form Submitted and pick your form. Then add what should happen next: an opportunity in your pipeline, a text back to the customer, and a notification to you. Save and publish.
Sign up through our link and we'll set it up for you
- We install the snapshot and connect your website's forms for you
- Direct access to our onboarding team
- Join our group calls
- Your own Slack channel with us
- Direct access to Jonathan, plus our done-for-you texts, emails and templates
Signed up? Reply to the email we sent you and we'll get you started.
These are affiliate links. We earn a commission at no extra cost to you.
Analytics: PostHog
Free planSee how many people visit, tap to call and request a quote. Built into the template: you just add one setting.
- Make a free account at posthog.com. The free plan covers far more traffic than a local business site gets.
- In PostHog, open Settings → Project and copy your Project API key (it starts with
phc_). - In your hosting dashboard, open your project's Settings → Environment variables and add
PUBLIC_POSTHOG_KEYwith that key. If you picked PostHog's EU cloud, also addPUBLIC_POSTHOG_HOST=https://eu.i.posthog.com. Redeploy. - That's it. The template already tracks page views,
phone_clicked(someone tapped a phone number or Call button) andquote_submitted(a quote form was sent successfully). - Test it: tap your phone button, send a test quote, then check Activity in PostHog for both events. Make a dashboard of quote requests and phone taps per week.
- A phone tap shows intent, not a completed call. To count real calls, use a call-tracking number (GoHighLevel has these) and compare.
Settings you can leave as they are
These are already set up to help you rank and get picked by AI. No need to touch them.
- robots.txt already lets in ChatGPT, Claude, Perplexity and Google's AI crawlers, so AI tools can read your site.
- Your business details, services, FAQs and rating are marked up for Google automatically from business.ts. Keep your info accurate there and it stays accurate everywhere.
- Each service and town file becomes its own page. AI and Google answer specific questions with specific pages, so more real pages beat one long one.
- Photos: use real job photos, compressed to WebP, under about 200 KB each. Big photos are the #1 way people make a fast site slow.
Fixes for common problems
My site won't build
Open the failed deploy in your hosting dashboard and scroll to the first red line in the log. The most common causes: NODE_VERSION isn't set to 24 (Step 4), or a quote mark or comma went missing in business.ts. VS Code underlines mistakes in red, so open that file and look for a squiggle. Run npm run build in the VS Code terminal to see the same error on your computer, or paste the error into your AI helper.
My quote form isn't sending
Check that your Web3Forms access key replaced YOUR_ACCESS_KEY_HERE in src/pages/contact.astro, and that you confirmed your email with Web3Forms. Then look in your spam folder for the first test. Using GoHighLevel? Make sure the external tracking script is on the page (view the page source and search for it), you synced your changes, and your workflow is published. Forms inside an iframe or pop-up widget aren't captured.
My domain isn't connecting
Domain changes can take up to 24 hours to spread, though most finish in under an hour. If your domain is registered somewhere else (GoDaddy, Namecheap, Squarespace), make sure you added the exact records your hosting dashboard shows, and remove any old records that point to your previous website.
My changes aren't showing
Changes only go live after you click Commit and then Sync Changes in VS Code's Source Control panel. New environment variables only apply after a redeploy. Check the hosting dashboard for a new deploy, give it a minute or two, then hard-refresh the page (Ctrl+Shift+R, or Cmd+Shift+R on a Mac).
PostHog shows no events
Ad blockers often block analytics, so test in a private window with extensions off. Then check that PUBLIC_POSTHOG_KEY is spelled exactly like that, starts with phc_, and that you redeployed after adding it.
Still stuck? Reply to the email we sent you with a screenshot of what you see. A real person reads it.
The part a website can't do
Getting found is step one. Getting booked is where the money is.
This template gets you in front of more people. But a website can't answer the phone while you're on a roof, chase the quote that went quiet, or ask a happy customer for the review that makes AI trust you next time.
Missed-call text back
Every missed call gets a text in seconds, so the job doesn't go to the next number on the list.
Review requests on autopilot
More 5-star reviews, and reviews are a big part of what Google and AI weigh when they pick who to recommend.
Follow-up that never forgets
Quotes, reminders and past customers, followed up by text and email without you lifting a finger.
A custom 20 to 30 page site, done for you
Built on this same foundation, written for your trade and towns, hosted and kept up by us.
Free-offer bonus: 30 days free
Growth or Full Suite: what's the difference?
Both are the Booked Solid System, and we build and run both for you. Most clients pick Full Suite.
| Compare | Growth | Full Suite |
|---|---|---|
| Price | $97/month | $297/month |
| Website | Custom site built for your trade and towns, hosting included | Same custom site, hosting included |
| Who does the setup | We do. You answer a few questions | We do. You answer a few questions |
| Getting more calls | Missed-call text back, 5-star review requests, Google profile optimization, local SEO, 7 local directories | Everything in Growth |
| What the extra $200 gets you | Not included | Appointment reminders, 2 years of newsletter follow-up, 30 days of done-for-you content, the 3-Click Ad System, sales scripts and coaching, priority support |
| Texting and email costs | Phone number, texting registration and per-message fees are billed at cost | Same, but monthly email and SMS credits are included |
| Trial | 30 days free. Nothing is charged until day 31 | 30 days free. Nothing is charged until day 31 |
| If you cancel | No fee. Your domain, Google profile and contacts stay yours. The website comes down, or we move it to a platform you own for a one-time $1,500 | Same |
Monthly billing includes a one-time $1,000 setup fee, waived when you pay quarterly or longer. Card payments include a 3% processing fee. Full pricing and terms.
Start Full Suite free for 30 daysThen $297/month. Cancel anytime.30 days free · No contract, cancel anytime · Performance Guarantee: make 2x your plan fee in your first paid month, or we work free or refund it.
Rather talk it through first? Book a free 15-minute call.
Just want the basics? Start Growth free instead ($97/month after).
More free stuff for you
Did this help? Leave us a quick review
It takes 30 seconds and helps a small Ohio business more than you'd think. Thank you!
Leave a Google review