Real buildClaude's output, unedited
Open the live demo (Claude's unedited files, a made-up example)
I want AI to build me an online shop
Five plain-English prompts made a small candle shop with a Stripe payment link per product. Upload it to GitHub and Cloudflare hosts it free; Stripe takes 1.5% + 20p per UK card sale.
- Prompts
- 5
- Claude's time
- 8 min 34 s
- Got wrong
- 7 things
- Tests passed
- 6 of 7
- Model
- claude-sonnet-5-5
- Run on
- 1 October 2026
For: Someone who makes and sells a handful of things, has never built a website or opened a terminal, and wants to sell online without a shop system to run or pay for monthly.
What the five prompts made Before the links, online






01 · Before you start
Before you start.
You need four accounts, all free to open: Claude, GitHub, Cloudflare and Stripe. Claude makes the shop, GitHub keeps its files, Cloudflare puts whatever is on GitHub on the internet, and Stripe takes the payments. The set-up page walks through the first three once, including connecting GitHub to Cloudflare and switching on “Code execution and file creation” in Claude so it can hand you files. Claude warned that Stripe needs your business and bank details before you can take real payments, so open that account early.
Nothing to install, and no terminal.
Our example is Fern & Wick, a made-up candle maker who sells at markets. Five products from £8 to £30, delivery £3.95 anywhere in the UK, free over £40, UK only. Each product gets its own Stripe payment link, and Stripe’s page takes the card and the address. There’s no basket and no shop software to look after. Swap in your own things and prices.
02 · Set up once
Set up once, then just talk to Claude.
Free accounts you make one time and reuse for every build. Each links to the step-by-step on the set-up page, with what each screen looks like.
- 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.
- 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.
- 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.
- 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".
- 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.
03 · The prompts
Paste these five, in order.
Plain English, typed into an ordinary Claude chat. On the left, exactly what we sent, word for word; change the details to yours. On the right, what came back. One conversation with claude-sonnet-5-5, run on 1 October 2026. Read the full transcript.
Prompt 1 of 5
Describe what you sell, and ask how payment links would work.
You say: I make candles at home and sell them at markets under the name Fern & Wick. I'd like a simple online shop so people can buy from me online too. I've never built a website and I'm not technical. What I sell: - Riverside candle (fig and cedar), 200g: £18 - Allotment candle (tomato leaf and basil), 200g: £18 - Fireside candle (smoke and vanilla), 300g: £24 - Wax melts, pack of 6, any scent: £8 - Gift set (one 200g candle, one pack of wax melts, matches): £30 Delivery is £3.95 to anywhere in the UK, free on orders over £40. UK only. I don't want a complicated shop system or anything I have to run myself. A friend said I can make a payment link for each product in Stripe (they call them Payment Links) and put those links on my website, so Stripe takes the card and the delivery address. I'd like to do it that way, and I want the website itself 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: the pages, what a customer does from arriving to paying, and how my delivery charge and "free over £40" would work with payment links.
2,429 output tokens back · read the full reply
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 · the one we attached
You say: Thanks, that's really clear. My answers: 1. Option A. Please suggest two bundles over £40 with free delivery and tell me what you picked. 2. I've just opened a Stripe account but haven't made any links yet. 3. Wax melts come in the same three scents as the candles. For the gift set, the customer picks the candle, and the melts match it. 4. No photos yet. 5. The free address is fine for now. 6. Email: hello@fernandwick.example (I'll change it). No Instagram yet. 7. I post within 2 to 3 working days by Royal Mail. Unused candles can come back within 14 days. 8. Delivery only, no market pickup. 9. I've attached a screenshot of a website I like the look of. I like the cream background, the dark green, the elegant old-style headings and the rounded buttons. Don't copy its words, just the feel. 10. Please write short descriptions for me to edit. All my candles are soy wax. Leave burn times out for now. Please make the website now. Keep it as simple as possible: just the files I'll need to upload, nothing I have to install. It must look good on a phone. As I haven't made the payment links yet, make it obvious where each one goes and tell me what to swap in once I've made them.
23,616 output tokens back · read the full reply
Prompt 3 of 5
Ask it to check the shop like a customer trying to break it.
You say: I opened it by double-clicking index.html and it looks lovely. Before I put it online, please check it carefully, as if you were a customer on a small phone and as if you were trying to break it: every "Buy now" button and link, someone who wants two different candles, someone expecting free delivery on a £42 order, someone outside the UK, someone who presses "Buy now" before I've added my real links, someone who uses a screen reader or only a keyboard, writing that's too small or too faint, anything that spills off the side of the screen, and anything a customer would want to know before trusting a small shop like mine (returns, contact, who I am). Tell me in plain English what you found, then fix it in the files.
32,938 output tokens back · read the full reply
Prompt 4 of 5
Change something, the way you will once it's live.
You say: Thank you, that's a lot I wouldn't have thought of. I've decided: 1. Please add your third bundle: a Fireside candle plus a 200g candle (customer picks Riverside or Allotment) for £42, with free delivery. 2. Then take out the "email us and we'll set it up as one order" bit. I'd rather keep it simple with the three bundles. 3. Returns: wax melts and gift sets can come back too if they're unopened. The customer pays return postage unless it arrived damaged. Then tell me which files you changed, so I know what's different.
9,055 output tokens back · read the full reply
Prompt 5 of 5
Ask how to make the links and put it live from GitHub, by clicking, not typing commands.
You say: I've made free GitHub and Cloudflare accounts, and I've opened my Stripe account. On GitHub I made a new repository called fernandwick (I switched on "Add README"), and in Cloudflare I went to Workers & Pages, Create application, Pages, Connect to Git, and picked that repository, so the shop 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, by clicking around the Stripe, GitHub and Cloudflare websites: 1. how to make my payment links in Stripe, with the right delivery settings, and where I paste them, 2. how to get the shop's files into my GitHub repository and find the address where it's live, 3. how I put a change live later. Tell me what I should see at each step.
6,158 output tokens back · read the full reply
After prompt 1 of 5
Reply to prompt 1 · 23.4 s · 2,429 output tokens
Describe what you sell, and ask how payment links would work.
A plan and questions, and nothing made yet. Ours planned four pages and said plainly that a payment link can charge a fixed delivery fee and limit delivery to the UK, but can't make delivery free once a basket passes £40 or hold a mixed basket. It offered three ways round that, recommended free-delivery bundles over £40, and asked ten questions.



Reply to prompt 5 · 48.7 s · 6,158 output tokens
Ask how to make the links and put it live from GitHub, by clicking, not typing commands.
Click-by-click steps for all three websites, and no new files. Ours: GitHub first (Stripe's thank-you redirect needs the live address), uploading everything inside the folder, not the folder; then eight Stripe links from a table of prices, delivery, maximum quantities and dropdowns, made live and tested with one real purchase you refund; then paste the links into shop-settings.js with GitHub's pencil and Commit changes. Later changes the same way.
04 · The result
The real thing, on the stage.
Screenshots of exactly what Claude produced, running on our machine on 1 October 2026. Nothing retouched.
We typed five plain-English prompts into one conversation with claude-sonnet-5-5 on 1 October 2026. 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. It wasn’t 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 513.9 seconds writing them, between eight and nine minutes.
The first prompt described the shop and asked Claude to ask questions before making anything. It asked ten, and before that it told us the useful thing: a payment link can add a fixed delivery charge and limit delivery to the UK, but it can’t make delivery free once a basket passes £40, and it can’t hold a mixed basket. It recommended the simplest way round that: bundles over £40 with free delivery built in. We took it.
In the second prompt we answered, and attached a screenshot of one of our own sites, saying we liked the cream, the dark green, the old-style headings and the rounded buttons, but not to copy the words. Claude saved a folder called fern-and-wick and a setup guide, START-HERE.txt, to keep beside it. It picked two bundles, The Trio at £60 and Gift set + a candle at £48, priced at the items added up. The saving is the free delivery. Every payment link goes in one file, shop-settings.js. It said it hadn’t opened the shop in a browser.
So we did. After prompt 2, 268 of 296 checks passed. Some home-page text was 12.8px, the orange “not added yet” wording was too faint to read comfortably, and three pages had no skip link for keyboard users.
Prompt 3 asked Claude to check the shop as a customer trying to break it. It fixed the header spilling off small phones and the faint text, and added a skip link to every page. It also thought about the moment you upload before your links are ready: on the live site those buttons say “Email us to order” and open an email with the product already in the subject, while on your own computer a yellow “Setup check” box lists what’s still missing. If you paste in a Stripe test link by mistake, a “Test mode” strip appears on every page. After prompt 3, 334 of 334 checks passed.
Prompt 4 is what running a shop looks like. We added a third bundle (Fireside + a candle, £42), dropped an “email us for a mixed order” offer Claude had suggested, and changed the returns rule. Claude listed every file it changed and pointed out we now need eight links, not seven. The final files passed all 328 checks, opened from disk and served as a website, on a laptop and a phone, and again with the files laid out the way the GitHub repository holds them. With made-up Stripe-style addresses swapped in, every button turned into “Buy now” and opened its own address. None of them reached Stripe.
Prompt 5 asked how to do the rest by clicking around Stripe, GitHub and Cloudflare. Claude got the order right: GitHub first, because Stripe needs the shop’s live address for the thank-you page. It warned us not to drag the folder itself into GitHub, only what’s inside it, and gave a table of what each of the eight links needs. It suggested making the links live straight away and testing with a real purchase you refund. We checked its steps against GitHub’s, Stripe’s and Cloudflare’s documentation and the steps below use their button names. We didn’t create anything in any of them, so that part is untested by us.






demo.iwantaito.com/build-me-an-online-shop/: Claude's unedited files, a made-up example.
START-HERE.txt
fern-and-wick/about.html
fern-and-wick/delivery.html
fern-and-wick/images/put-your-photos-here.txt
fern-and-wick/index.html
fern-and-wick/shop-settings.js
fern-and-wick/site.js
fern-and-wick/style.css
fern-and-wick/thanks.html
05 · What we tested
We tried to break it. 6 of 7 held.
Run on our own machine against the unedited files. Nothing deployed while testing.
| What we tried | What happened | Result |
|---|---|---|
| Final files (prompt 4), every page at laptop (1440x900) and phone (390x844) size in headless Chrome, both opened by double-click and served as a website | 328 of 328 checks: no errors, nothing loaded from other websites, no sideways scrolling, one main heading per page, smallest text 14px or more, contrast at least 4.5:1, every link works, first Tab shows a skip link | Pass |
| Products and prices | 8 Buy buttons: Riverside £18, Allotment £18, Fireside £24, Wax melts £8, Gift set £30, and the bundles at £60, £42 and £48 | Pass |
| Before any links are added, opened from disk | Every button says 'Payment link not added yet' and goes nowhere; the yellow box says '8 of 8 payment links still to add' and flags the example email, name and address | Pass |
| Before any links are added, served as a website (what a customer would see) | Every button becomes 'Email us to order' with the product in the email subject; the setup box and the empty name and address lines are hidden | Pass |
| Made-up Stripe-style addresses swapped into shop-settings.js (not real links; nothing reached Stripe) | Every button says 'Buy now' and opens its own address; test-style addresses show the Test mode strip, the others don't | Pass |
| The final files laid out as the GitHub repository holds them (the folder's contents at the top, the images folder, plus README.md), same checks | 328 of 328 again | Pass |
| Prompt 2 first build, same checks | 268 of 296: home-page text as small as 12.8px, the orange 'not added yet' text at 3.82:1 contrast, no skip link on three pages, and the setup box and live behaviour didn't exist yet. Prompt 3 fixed all of it | Fail |
06 · Ship it
Put it live from GitHub, no terminal.
Your files go into your GitHub repository and Cloudflare publishes them by itself. The steps start from Claude's own answer and are checked by us against GitHub's and Cloudflare's documentation, which the sources below link to.
These steps assume you’ve done the set-up page: a GitHub repository (ours would be fernandwick, with “Add README” on) connected to a Cloudflare Pages project with Connect to Git. Claude’s unedited files are live at demo.iwantaito.com/build-me-an-online-shop/ (we host them ourselves, with a thin bar on top saying it’s a made-up example; the Buy buttons have no payment links, so they offer to email instead).
- Download the fern-and-wick folder and open it. START-HERE.txt sits outside it and is for you; don’t upload it.
- On GitHub, open your repository, select Add file, then Upload files. Select everything inside the fern-and-wick folder, including the images folder, and drag it in. Don’t drag the fern-and-wick folder itself, or the shop ends up one folder down and the address shows “not found”. Select Commit changes. index.html should now be in the list next to README.md.
- In Cloudflare, go to Workers & Pages and open your project. Under Deployments, wait for the newest one to succeed, usually a minute or two. Your address is shown on the project, something like fernandwick.pages.dev. Open it: the buttons say “Email us to order” for now. That’s expected.
- In Stripe, make your delivery rates on the Shipping rates page: select Create shipping rate, and make “UK delivery” at £3.95 and “Free UK delivery” at £0. A rate is one fixed amount for the whole order.
- Make a payment link: open Payment Links, select +New, then +Add a new product, fill in the name, description and price, and select Add product. In the Product section, tick “Let customers adjust quantity” and set the maximum from Claude’s table. In Options, choose “Collect customer addresses”, then “Billing and shipping addresses”, pick United Kingdom as the only country and add the right shipping rate. Use “Add custom fields” for a dropdown, such as the wax melt scent. Under “After the payment”, set the confirmation page to redirect to your website’s thanks page, for example https://fernandwick.pages.dev/thanks.html. Select Create link and copy the address, which starts https://buy.stripe.com/.
- Repeat for all eight products and bundles. Claude’s reply has a table of the price, delivery rate, maximum and dropdowns for each. If you’d like to practise first, a sandbox (Stripe’s test environment) is free and takes the test card 4242 4242 4242 4242, but its links don’t carry over, so the real ones are made again in live mode.
- On GitHub, open shop-settings.js, select the pencil, paste each link between its quote marks, and change the email, name and address lines. Select Commit changes…, then Commit changes. Cloudflare redeploys by itself; when it has, every button on your live shop should say “Buy now”.
- In Stripe, switch on receipts: Settings, Business, Customer emails, then Successful payments.
- Open the shop on your phone, press each button and check the price, the delivery charge, the dropdowns and that it lands on your thank-you page. Buy the cheapest thing yourself, then refund it in Stripe.
- To change something later, edit a file with the pencil, or ask Claude, download the files it changed and upload them with Add file, Upload files. Files with the same name replace the old ones and the rest stay. For photos, open the images folder on GitHub first. Each Commit changes goes live by itself.
Your own domain is optional: in Cloudflare, open the project, then Custom domains, then “Set up a domain”. If you add one later, change the thank-you redirect in each Stripe link to match.
On Claude Pro, you can skip the downloading and uploading for changes to the shop: ask Claude Code on the web, and it saves the change to a branch of your repository for you to merge on GitHub, after which Cloudflare puts it live. The set-up page shows how, from a real run.
No GitHub? Cloudflare’s “Drag and drop your files” works too, but every change, including pasting in your links, means dragging the whole folder in again.
Free plan: Claude makes the files, you upload them
FreeTo change something: ask Claude, download the files it changed, and upload just those the same way. Files with the same name are replaced; the rest stay as they are.
£0: Claude Free, GitHub Free and Cloudflare's free plan.
Pro: you chat, Claude saves the change, Cloudflare publishes it
Claude Pro, $20 a monthClaude edits the files and saves them to GitHub on a separate branch, a draft copy. Cloudflare gives that branch its own preview address, so you can look before anything changes. Happy with it? Select Create PR, then on GitHub select Merge pull request, then Confirm merge. Cloudflare puts it live by itself.
07 · What it costs
What it costs.
£0 a month to host on GitHub and Cloudflare; no Stripe monthly fee, but 1.5% + 20p per standard UK card payment. A domain is optional.
Hosting is £0 a month: Cloudflare says requests to static files are free and unlimited, this shop is eight small files, and GitHub’s free plan is enough for the repository.
Stripe has no setup or monthly fee. It takes 1.5% + 20p on each standard UK card payment, 2.8% + 20p on premium UK cards, 2.5% + 20p on cards from the European Economic Area, and 3.15% + 20p on other international cards, plus 2% if the currency has to be converted. A Riverside candle with delivery comes to £21.95, and the fee on that, on a standard UK card, is about 53p. Refunds cost nothing to send, but Stripe keeps the original fee: about 38p on the £11.95 wax melts order Claude suggested for your test purchase. A disputed payment costs £20.
Claude’s Free plan covered the build. A domain is the only other possible cost, and it’s optional.
08 · What it got wrong
7 things Claude got wrong, or left to you.
If Claude gets something wrong, we say so here. We never fix its files by hand; a fix is a follow-up prompt you can see above.
Free delivery over £40 isn't what the shop does
We asked for free delivery on orders over £40. A payment link is one product's checkout and Stripe's delivery rates are a fixed amount per order, so only the three bundles get free delivery. Someone buying a Riverside and a Fireside separately pays £3.95 twice. Claude said so from the first reply and the site says so too.
Quantity limits are a workaround
To stop a single-product order passing £40 while still charging delivery, Claude's table caps each link (Fireside at 1, the 200g candles at 2, melts at 4). A customer who wants two Firesides has to order twice or pick a bundle.
Stripe's thank-you setting
Claude said to choose 'Don't show confirmation page', then redirect to your website. Stripe's documentation puts it under 'After the payment', Confirmation page, redirect customers to your website. The steps below use Stripe's names.
Testing with real money
Claude said to make the links live straight away and test with one real purchase you then refund, because sandbox links don't carry over to live. That's a fair trade, but say what it costs: Stripe keeps its fee on a refund, about 38p on the £11.95 wax melts order. A sandbox with the test card 4242 4242 4242 4242 is free if you'd rather practise one link first.
A fix we couldn't back up
If Cloudflare asks for build settings, Claude said to leave the output directory empty 'or / if it won't accept empty'. Cloudflare's documentation says to leave the build command blank for plain files and doesn't mention '/'. We didn't need or test it.
It never opened the shop
Claude worked only from the code and said so each time. Its first build had text too small and too faint, and three pages without a skip link. Our prompt 3 caught them.
Left for you
Your real email, name and address (the About lines stay hidden online until you fill them in), photos, and the returns wording. Claude said it can't give legal advice and pointed to gov.uk. We didn't test anything inside Stripe, GitHub or Cloudflare.
Ours, disclosed
Built it? Where we can help next.
Ours: made by the same studio that runs this site. None of them changes anything above.
Ours
Adapt Progress Evolve
We build small shops like this properly, Stripe set-up included, if you'd rather not do it yourself.
Ours
Launch Video Maker
A short launch video for the shop, to post when it goes live.
Questions
Questions people ask.
Can Claude build me an online shop?
A small one, yes. Five prompts gave us four pages with a Buy button per product, each going to a Stripe payment link. Stripe's page takes the card and the delivery address, so there's no basket or shop system to run.
Do I need to use a terminal or install anything?
No. You type in a Claude chat, download the folder it makes, upload what's inside it to your repository on the GitHub website, click your payment links together in Stripe's dashboard, and paste them into one file using GitHub's own editor.
Can Claude put it online for me?
Not from a chat on the Free plan: Claude hands you the files and you upload them. Once your GitHub repository is connected to Cloudflare, that upload is what puts the shop live. On Claude Pro, Claude Code on the web can save a change to a branch of your repository, which you then merge on GitHub.
Can payment links do free delivery over a set amount?
Not automatically. Each link is its own checkout, and Stripe's delivery rates are a fixed amount for the whole order. Claude's answer was bundles over £40 with free delivery built in.
Can Claude make the Stripe links for me?
Not in our run: Claude had no access to Stripe, so it gave click-by-click steps and a table of what each link needs. Making eight links by hand takes a while but needs no technical skill.
What does it cost?
Hosting on GitHub and Cloudflare is £0 a month. Stripe has no monthly fee and takes 1.5% + 20p per standard UK card payment, about 53p on an £18 candle with £3.95 delivery. A domain is optional.
Sources for this page
15- Stripe UK pricing (1.5% + 20p standard UK cards; 2.8% + 20p premium UK cards; no monthly fees; refunds keep the original fee)
- Stripe: create a payment link (Payment Links, +New, add a product, Create link)
- Stripe: customise payment links (addresses, shipping countries, custom fields, adjustable quantity)
- Stripe: after a payment link payment (After the payment, Confirmation page, redirect to your website)
- Stripe: charge for shipping (fixed amount for the entire order)
- Stripe: receipts (Settings > Business > Customer emails > Successful payments)
- Stripe testing (sandboxes; card 4242 4242 4242 4242)
- GitHub Docs: adding a file to a repository (Add file > Upload files; 100 files at once, 25 MiB each)
- GitHub Docs: editing files (the pencil, then Commit changes)
- Cloudflare Pages: Git integration (Connect to Git; build command blank; deploys on every commit)
- Cloudflare Pages custom domains
- Cloudflare Workers pricing ('Requests to static assets are free and unlimited')
- Claude Code on the web: get started (Pro, Max and Team; saves changes to a branch)
- Claude help: create and edit files with Claude (all plans; Settings > Capabilities)
- Cloudflare Pages: Direct Upload, drag and drop (the no-GitHub alternative)
For developers
For developers.
Skip this if you've never used a terminal. You don't need it.
The command-line route
The git route: clone the repository, copy the contents of fern-and-wick to its top level, paste your links into shop-settings.js, then commit and push to main. Cloudflare Pages builds every push to the production branch (no build command for plain files), and other branches get preview addresses.
git clone https://github.com/<you>/fernandwick.gitcd fernandwickcp -r ~/Downloads/fern-and-wick/. .git add .git commit -m "Fern & Wick shop"git push origin mainThe first, command-line version of this page (claude-sonnet-5-5, 1 October 2026) asked Claude for exact commands and hosted the same kind of shop as a Worker with static assets. Its config, checked then with Wrangler 4.131.2 and 4.145.0, works for this folder if you point the assets directory at it:
jsonc
{
"name": "fernandwick",
"compatibility_date": "2025-10-01",
"assets": { "directory": "./fern-and-wick" }
}npx wrangler devnpx wrangler loginnpx wrangler deployIn that run wrangler dev served the shop at http://localhost:8787 and dropped .html from addresses (/shop.html became /shop). Add "routes": [{ "pattern": "fernandwick.co.uk", "custom_domain": true }] once the domain is an active Cloudflare zone, then deploy again. Note that this shop’s site.js treats localhost as “your own computer”, so the dev server shows the yellow setup box and the “not added yet” buttons.
