---
title: "I want AI to build me a website for my business"
url: https://iwantaito.com/asks/build-me-a-website-for-my-business/
summary: "Five plain-English prompts in a Claude chat made a one-page site for a dog walker, every Book button linked to its booking page. Upload it to GitHub and Cloudflare puts it live: free."
published: 2026-10-01
updated: 2026-10-01
author: "Jack Stovell"
publisher: "Adapt Progress Evolve Limited"
language: en-GB
---

# I want AI to build me a website for my business

Five plain-English prompts in a Claude chat made a one-page site for a dog walker, every Book button linked to its booking page. Upload it to GitHub and Cloudflare puts it live: free.

> Riverside Dog Walks: Made up for this demo. Sam, the business, the booking page address and hello@riversidedogwalks.co.uk are invented; the phone number 07700 900123 is from Ofcom's range for TV and radio drama, so it rings nobody. The screenshot we attached is of one of our own sites.

Run: 2026-10-01, claude-sonnet-5-5, Claude Code 2.1.287 (claude -p, file tools only: no terminal, no web), session 909f4ec0-1dd5-479b-8e44-a50d317df512. Claude's time: 3 min 32 s. Edited by hand: no. Full transcript: https://iwantaito.com/transcripts/build-me-a-website-for-my-business.md

## Set up once

Step by step, with what each screen looks like: https://iwantaito.com/start/

1. **Get a free Claude account**. It's where you describe what you want and Claude makes it. The Free plan covers every guide on this site; Pro adds the shortcut where Claude saves changes to GitHub itself. Free (Pro is optional).
2. **Let Claude hand you files**. A website is a handful of files. With this switched on, Claude can make them and give them to you to download, ready to upload to GitHub. Free.
3. **Get a free GitHub account and an empty repository**. A repository is a folder on GitHub that keeps every version of your files. It's the one place your site lives: you (or Claude) change the files there, and Cloudflare publishes whatever is in it. Free.
4. **Get a free Cloudflare account and connect it to your repository**. Cloudflare is where your site is live on the internet. Once it is connected to your repository, every change to the files on GitHub goes live by itself, in a minute or two. A site made of plain files costs nothing to host: Cloudflare says requests to static files are "free and unlimited". Free.
5. **Connect Claude to GitHub**. So Claude can read the files that are live now before it changes them, even in a brand new chat. On Pro, the same connection is what lets Claude Code on the web save its changes to your repository. Free.

## The prompts

### Prompt 1 of 5: Describe your business, and say you already have a booking page.

```text
I run a one-person dog-walking business called Riverside Dog Walks and I'd like a proper website, so people who hear about me can look me up, see what I offer and get in touch. I've never made a website.

About my business:
- 30-minute walk: £15. 60-minute walk: £22.
- I walk Monday to Friday, 8am to 6pm, around the riverside and the park near my home.
- I'm insured and I walk one dog (or one household's dogs) at a time, never big groups.
- Phone: 07700 900123. Email: hello@riversidedogwalks.co.uk.
- I already have a separate booking page where customers pick a time: https://book.riversidedogwalks.co.uk. The website doesn't need its own booking system, it just needs to send people there.

I'm not technical, and I want it to be free to run. Before you make anything, ask me anything you need to know, and tell me in plain English what you're going to make.
```

What you should see: A plan and questions, and nothing made yet. Ours proposed one page (a Book button at the top, prices, how it works, about you, get in touch) and asked nine questions. It promised not to invent facts about you, to add insurance details only if you confirm them, and to leave reviews out rather than make any up.

### Prompt 2 of 5: Answer its questions, and show it a website you like.

Attach: a screenshot of a website you like the look of

```text
Thanks, one page sounds right. My answers:

1. No photos yet. Leave space for them, but it must still look finished without them.
2. Please draft a few friendly lines about me and I'll correct them. My name is Sam. Don't invent facts about me.
3. I walk in Kingston upon Thames, along the river and in Canbury Gardens. Name the area but not my address.
4. Just say I'm insured. Nothing more yet.
5. No reviews yet, so leave that out.
6. I've attached a screenshot of a website I like the look of. I like the warm orange buttons, the big bold heading and how friendly and uncluttered it feels. Don't copy its words or pictures, just the feel. No logo.
7. I own riversidedogwalks.co.uk, but the free address is fine for now.
8. Yes to a short FAQ. Bad weather: I walk in rain, but not in storms or extreme heat. Keys: I can keep a spare key. No social media or WhatsApp.
9. Cancel with 24 hours' notice and there's no charge. Customers pay by bank transfer after each walk.

Please make the website now. Keep it as simple as possible: just the files I'll need to upload, nothing I have to install. Every "Book" button should go to my booking page, and people on a phone should be able to tap to call me or email me.
```

What you should see: A file to download. Ours saved one, index.html: a cream page with orange buttons, a big bold heading, an orange paw drawing where a photo will go, prices, an FAQ and tap-to-call and tap-to-email buttons. It said it hadn't opened it in a browser, and that photos saved as hero.jpg and sam.jpg next to it would appear by themselves.

### Prompt 3 of 5: Ask it to check its work like a customer on a phone.

```text
I opened it by double-clicking and it looks great. Before I put it online, please check it carefully, as if you were a dog owner on a small phone and as if you were trying to break it: every button and link, tapping to call and email, anything that spills off the side of the screen, writing that's too small or too faint, someone who has their phone's text set very big, and anything that would trouble someone who uses a screen reader or only a keyboard. Also tell me anything a dog owner would want to know before trusting me that's still missing.

Tell me in plain English what you found, then fix it in the files.
```

What you should see: A plain-English list of fixes and an updated file. Ours made the top bar and the email address fit a small phone, deepened the orange, added a skip link and bigger buttons, and took out claims it had made up. It listed 11 things a dog owner might want to know and added none of them, because it would only be guessing.

### Prompt 4 of 5: Change something, the way you will once it's live.

```text
Two changes, the way I'll ask once it's live:

1. From next month the 60-minute walk will be £24, not £22. Please change it everywhere.
2. Add this to the FAQ: a second dog from the same household is £5 extra per walk.

Then tell me which files you changed, so I know what to upload again, and anything else I need to change outside the website.
```

What you should see: The changes and a list of what to upload. Ours changed the price card and the description Google shows, added the FAQ answer, warned not to upload until the new price starts, and reminded us to change the price on the booking page too.

### Prompt 5 of 5: Ask how to put it live from GitHub by clicking, and how to use your domain safely.

```text
I've made free GitHub and Cloudflare accounts. On GitHub I made a new repository called riverside-dog-walks (I switched on "Add README"), and in Cloudflare I went to Workers & Pages, Create application, Pages, Connect to Git, and picked that repository, so it should go live by itself whenever the files on GitHub change. I don't want to use the terminal or install anything.

Please tell me, step by step, how to get the website into my repository using the GitHub website, what I should see at each step, how I find the address where it's live, and how I put a change live later (like the new price).

I also own riversidedogwalks.co.uk, and my email uses it. How would I use it for the website later without breaking my email or my booking page?
```

What you should see: Click-by-click steps on GitHub and Cloudflare, and a careful domain plan. Ours first pointed out the file already shows the new £24 price and offered a £22 version to go live with. Then: Add file, Upload files, drag in index.html (the file, not the folder), Commit changes; finish Cloudflare's setup with framework None; find the .pages.dev address and test every button on a phone. For the domain: don't move it to Cloudflare yet, use www with one new record, and leave the email and booking records alone.

## Before you start

You need three free accounts and nothing else. A Claude account with "Code execution and file creation" switched on (Settings, then Capabilities; it's on the Free plan), so Claude can hand you a file to download. A GitHub account with an empty repository, which is where your site's files will live. And a Cloudflare account connected to that repository, which puts whatever is in it on the internet. [The set-up page](/start/) walks through all three, once, in about 15 minutes.

Nothing to install, and no terminal. Everything below happens in a chat and a web browser.

Our example is Riverside Dog Walks, run by Sam, who is made up. Sam walks dogs along the river and in Canbury Gardens in Kingston upon Thames: £15 for 30 minutes, £22 for 60, Monday to Friday. Sam already has a booking page, so the website doesn't need its own booking system. Every Book button just links there, whatever booking service you use. Change the details to yours.

## What happened when we ran it

We typed five plain-English prompts into one conversation with claude-sonnet-5-5 on 1 October 2026. One caveat: we ran them through Anthropic's command-line tool with only its file tools switched on, so Claude could save files into an empty folder, much like file creation on claude.ai. We didn't use the claude.ai website itself, so your screen will look different. The replies are published as they came back and we edited nothing by hand. Claude spent 212.2 seconds writing them.

The first prompt made nothing, which is what we asked for. We described the business, gave the booking page's address, and asked Claude to ask questions first. It proposed one page and asked nine questions. It said it wouldn't invent facts about Sam, and would leave reviews out rather than make any up.

In the second prompt we answered, and attached a screenshot of one of our own sites, saying we liked the warm orange buttons and the big bold heading but not to copy its words or pictures. Claude saved one file, index.html: cream background, orange buttons, an orange paw drawing where a photo will go. It said it hadn't opened it in a browser.

Then we tested it in a browser at laptop and phone size, opened from disk like a double-click. 38 of 44 checks passed. On a phone the page was 396px wide on a 390px screen, so it scrolled sideways, there was no skip link for keyboard users, and the Call button's text was a touch too faint.

Prompt 3 is the one that matters. We asked Claude to check the page as a dog owner on a small phone and as someone trying to break it. It fixed the width, the contrast and the skip link, and then owned up to something worse: it had written "fully insured" (we'd only said "insured"), "no sign-up fees and no contracts" and "never rushed". It took them all out. It did that only because we asked it to check, so read every line yourself. It also listed 11 things a dog owner might want to know, such as a photo, your experience and what a second dog costs, and added none of them.

After that, all 44 checks passed: nothing spills off a phone even with text at 200%, five Book buttons all go to the booking page, and tap-to-call and tap-to-email work.

Prompt 4 is what running the site looks like. We put the 60-minute walk up to £24 and added an FAQ answer about a second dog. Claude changed both places the price appeared, warned us not to upload until the new price starts, and reminded us to change the booking page too, which it can't see. Still 44 of 44.

Prompt 5 asked how to get the site onto GitHub and live by clicking, and how to use Sam's own domain without breaking email or the booking page. We told Claude we'd already made the repository and connected Cloudflare to it. Before any clicks, it pointed out that the file now shows the new £24 price and offered a £22 version to go live with first. Its steps matched GitHub's and Cloudflare's documentation closely, and its domain advice was careful: don't move the whole domain to Cloudflare yet, add one record for www, and test email and the booking page afterwards.

## Put it live

These clicks follow GitHub's and Cloudflare's documentation. Claude's unedited files are live at [demo.iwantaito.com/build-me-a-website-for-my-business/](https://demo.iwantaito.com/build-me-a-website-for-my-business/) (we host them ourselves, with a thin bar on top saying it's a made-up example); the screenshots are from our own machine.

1. Download index.html into a folder on your computer. If you have photos, save them beside it as hero.jpg and sam.jpg.
2. On GitHub, open your riverside-dog-walks repository and select Add file, then Upload files. Drag in index.html and any photos: the files themselves, not the folder, so index.html sits at the top level. Leave "Commit directly to the main branch" selected and select Commit changes.
3. If you left Cloudflare's "Set up builds and deployments" screen open, check the production branch is main, the framework preset is None and the build command is blank, then select Save and Deploy. If you'd already finished it, there's nothing to do: your commit starts a new deployment by itself.
4. In Cloudflare, open Workers & Pages, then your project. Its address ends .pages.dev, such as riverside-dog-walks.pages.dev. Open it on your phone and tap every button: Book, call and email.
5. To put a change live, such as the new price, ask Claude in the same chat and download the new index.html. On GitHub, select Add file, then Upload files, drag it in and select Commit changes. It replaces the old file of the same name. Cloudflare publishes it by itself in a minute or two; for a price change, upload it on the day the price starts. If something goes wrong, the project's Deployments list keeps earlier versions: open the three-dot menu beside one and choose "Rollback to this deployment".
6. To use your own domain, the safe route is www. First screenshot every DNS record where you bought the domain. Then open the project, Custom domains, "Set up a domain", and enter www.riversidedogwalks.co.uk. Only then add one CNAME record, named www, pointing to riverside-dog-walks.pages.dev, wherever your domain is managed. If a www record already exists, change it rather than adding a second. Leave every other record alone, including the ones for your email (MX and TXT) and your booking page. Cloudflare says that adding the CNAME before setting up the domain in Pages gives a 522 error. Afterwards, send yourself an email and open the booking page to check both still work.

The plain domain without www is harder: Cloudflare Pages needs the whole domain moved to Cloudflare (its nameservers changed) first. Claude suggested asking your domain company to forward it to www instead. Whether you can depends on the company; we haven't checked.

On Claude Pro, you can skip the downloading and uploading. Ask Claude Code on the web for the change and it saves it to a branch of your repository; you merge it on GitHub and Cloudflare publishes it. [The set-up page](/start/#pro) shows how.

No GitHub? Cloudflare's "Drag and drop your files" works too, but you drag the whole folder in again for every change, and that project can't be switched to GitHub later.

## What it costs

Hosting is £0 a month. Cloudflare says requests to static files are free and unlimited, and GitHub's Free plan is enough to hold the site. Sam's site is one file, plus any photos.

Claude's Free plan covered everything here. Sam already owns the domain, which is the only cost; the free pages.dev address works without one.

## For developers

If you're happy in a terminal, skip the upload page. With the repository connected to Cloudflare Pages, every push to main deploys, and pushes to other branches get their own preview address (handy for checking a price change before it goes live):

```
git clone https://github.com/<you>/riverside-dog-walks.git
cp index.html riverside-dog-walks/
cd riverside-dog-walks
git add .
git commit -m "Add the site"
git push origin main
```

The first, command-line version of this page (claude-sonnet-5-5, 1 October 2026) built four pages and put them on Cloudflare Workers with static assets. Its config, with the files in a `public` folder:

```jsonc
{
  "name": "riverside-dog-walks",
  "compatibility_date": "2026-10-01",
  "assets": { "directory": "./public" }
}
```

```
npm install --save-dev wrangler
npx wrangler dev
npx wrangler login
npx wrangler deploy
```

`wrangler dev` served it at http://localhost:8787. Wrangler 4.131.2 refused that compatibility date (its newest was 2026-09-18); 4.145.0 ran it. For the domain, that run added `"workers_dev": false` and `"routes": [{ "pattern": "riversidedogwalks.co.uk", "custom_domain": true }, { "pattern": "www.riversidedogwalks.co.uk", "custom_domain": true }]`, which needs the domain to be an active Cloudflare zone first.

## What we tested

- PASS: Prompt 3 file opened by double-click, at laptop (1440x900) and phone (390x844) size in headless Chrome. 44 of 44 checks passed: no errors, nothing loaded from other websites, no sideways scrolling even with text at 200%, one main heading, a description for Google, the first Tab lands on a visible 'Skip to main content', a visible outline on every Tab stop, the FAQ opens when tapped
- PASS: Book, call and email buttons. 5 Book links, all to the booking page; 3 tap-to-call links (+447700900123) and 2 tap-to-email links, all correct
- PASS: Text size and contrast. Smallest text 15px; lowest text contrast 5.10:1 (the WCAG AA minimum is 4.5:1)
- PASS: Prompt 4 file (new price and FAQ answer). Same 44 of 44; £24 shows and the FAQ has 7 questions
- PASS: Claude's photo instructions, on a copy with our test hero.jpg and sam.jpg saved next to index.html. Both photos appear with no code changes, nothing spills sideways. 6 of 6
- FAIL: Prompt 2 first build, same checks. 38 of 44: the page was 396px wide on a 390px phone, so it scrolled sideways; no skip link; the Call button's text at 4.39:1 contrast. Prompt 3 fixed all three

## What it got wrong

- **It made things up, then took them out.** The first build said 'fully insured' (we said 'insured'), 'no sign-up fees and no contracts' and 'never rushed'. Claude removed them in prompt 3, but only because we asked it to check. Read every line before it goes live: these would be claims in your name.
- **The build output directory.** Claude said to leave Cloudflare's build output directory empty 'or /'. Cloudflare's documentation says to leave the build command blank for a site with no build step, and doesn't say what goes in the output directory. Empty is what we'd try first.
- **One button name.** Claude called the domain button 'Set up a custom domain'; Cloudflare's documentation calls it 'Set up a domain'. It warned that wording might differ, and the steps below use Cloudflare's name.
- **The trust details are still yours to add.** No photo, full name, experience, extra-dog price or meet-and-greet, because we gave Claude none. It listed 11 such gaps and invented none of them.
- **The phone menu hides the section links.** On a phone the top bar shows only the Book button; Prices, About, FAQ and Contact are hidden and you scroll instead. Fine for one page, but ask Claude for a menu if you add more pages.

Live demo (Claude's unedited files, a made-up example): https://demo.iwantaito.com/build-me-a-website-for-my-business/

## From the same studio

Ours: made by the same studio that runs this site.

- [Adapt Progress Evolve](https://adaptprogressevolve.com/): We build small business sites like this properly, if you'd rather not do it yourself.
- [What is GEO](https://whatisgeo.app/): Once the site is live, how to get it found and described correctly by AI assistants as well as Google.

## Related

- [I want AI to build me a website](https://iwantaito.com/asks/build-me-a-website/)
- [I want AI to build me an online shop](https://iwantaito.com/asks/build-me-an-online-shop/)
- [Do I need Wix or Squarespace, or can Claude and GitHub do it?](https://iwantaito.com/asks/website-on-wix-squarespace-wordpress-or-cloudflare/)
- [I want AI to build me a chatbot or AI agent for my business](https://iwantaito.com/asks/build-me-a-chatbot/)

## Sources

- [Claude help: create and edit files with Claude (all plans; Settings > Capabilities)](https://support.claude.com/en/articles/12111783)
- [Claude help: uploading files to Claude (screenshots, 20 files per chat)](https://support.claude.com/en/articles/8241126)
- [Claude docs: GitHub integration (every plan, reads files only)](https://claude.com/docs/connectors/github)
- [GitHub Docs: adding a file to a repository (Add file > Upload files; 100 files at once, 25 MiB each)](https://docs.github.com/en/repositories/working-with-files/managing-files/adding-a-file-to-a-repository)
- [Cloudflare Pages: Git integration (Connect to Git; leave the build command blank; deploys on every push)](https://developers.cloudflare.com/pages/get-started/git-integration/)
- [Claude Code on the web: get started (Pro, Max and Team plans)](https://code.claude.com/docs/en/web-quickstart)
- [Cloudflare Pages: Direct Upload, drag and drop (the no-GitHub alternative; can't switch to Git later)](https://developers.cloudflare.com/pages/get-started/direct-upload/)
- [Cloudflare Pages custom domains (subdomain by CNAME; apex domains must be a Cloudflare zone; 522 if the CNAME comes first)](https://developers.cloudflare.com/pages/configuration/custom-domains/)
- [Cloudflare Pages rollbacks](https://developers.cloudflare.com/pages/configuration/rollbacks/)
- [Cloudflare Workers pricing ('Requests to static assets are free and unlimited')](https://developers.cloudflare.com/workers/platform/pricing/)

## Questions people ask

### Can Claude build a website for my business?

Yes, a small one. Five prompts in one conversation gave us a one-page site with prices, an FAQ and tap-to-call, and after Claude checked its own work it passed all 44 of our browser checks. It can't make up your photos, experience or reviews, and it shouldn't: read every claim before it goes live.

### Do I need to use a terminal or install anything?

No. You type in a Claude chat, download the file it makes, and upload it to your repository on the GitHub website (Add file, then Upload files). Cloudflare, connected to that repository once, does the rest.

### Can Claude put it online for me?

Not from a chat on the Free plan, as of October 2026: Claude's GitHub connection there only reads your files. But once GitHub is connected to Cloudflare, uploading the file to GitHub is putting the site live. On Claude Pro, Claude Code on the web can save a change to a branch of your repository; you merge it on GitHub and Cloudflare publishes it.

### Does the website need its own booking system?

Not if you already have a booking page. Tell Claude the address and ask for every Book button to go there. Ours did, five buttons, all pointing at the same page.

### Will using my own domain break my email?

Not on the route Claude suggested, which we checked against Cloudflare's documentation but didn't run: add www to your Pages project first, then one CNAME record where your domain is managed, and leave the email (MX and TXT) records alone. Screenshot every record before you start.

### How much does it cost to run?

£0 a month on Cloudflare's free plan as of October 2026: requests for static files are free and unlimited. GitHub's Free plan holds the files and Claude's Free plan covered the chat. A domain is the only cost.
