Harpford logoHARPFORD
ACADEMY
Build Your Website in a Day · Toolkit
Your toolkit

You built it on Saturday. Keep building.

Everything from the workshop in one place: the four questions, the Master Prompt, going live, your own domain, payments, bookings, legal pages, SEO and backups. Every prompt has a copy button, so you can paste it straight into Claude.

No coding needed Free tools first South African providers
1The foundation

Think before you build.

AI builds what you describe. It doesn't know your customers, your market or what makes you different. Answer these four questions first and the rest gets easier. Fill them in below and the Master Prompt writes itself.

Question 1

Who specifically is this for?

One person, their situation and what they searched for to find you. The more specific, the better the site works.

Question 2

What's the one thing they must do?

Call, WhatsApp, book or buy. Pick one and make it impossible to miss.

Question 3

Why should they trust you?

One real reason: years in business, a result you delivered, local knowledge, a guarantee.

Question 4

What feeling should they leave with?

Confident, reassured, excited, in good hands. This shapes every design choice.

Master Prompt builder

Empty fields stay as [brackets] for you to fill in later.
Your Master Prompt · paste into claude.ai

      
2The build

Build, then refine in plain English.

One good prompt beats five vague ones. After the first version, change things one sentence at a time. You're directing, not coding. Keep working in the same Claude chat so it remembers your site.

Refine · rewrite the headline
Rewrite the main headline so it speaks directly to [my customer] and the problem they have. Give me three options first and don't change anything else until I choose.
Refine · add testimonials
Add a Testimonials section after Services with these reviews, using the customer's first name and suburb only: [paste reviews]. Keep the same style as the rest of the site.
Refine · add an FAQ
Add an FAQ section above Contact that answers these questions customers often ask me: [list questions and your answers]. Make each answer open when tapped.
Refine · fix something on phones
On my phone, [describe what looks wrong]. Fix it for mobile without changing how the site looks on a laptop.
Refine · use your own photos
Use my own photos instead of the illustrations. The files will sit in the same folder as the site and are named hero.jpg, team.jpg, work-1.jpg. Put hero.jpg in the hero and give every image descriptive alt text.
Chat got too long, or you're starting fresh? Open a new chat, attach your index.html and start with: "This is my current website. Keep everything exactly as it is and only change: [your change]."
Claude busy? Paste the same Master Prompt into ChatGPT. The brief transfers. Your judgement about what's good is the skill.

Photos without the slow load

Phone photos are often 3 to 5 MB. Resize each one to about 1600 pixels wide before adding it (squoosh.app does this free in your browser), and keep file names lowercase with no spaces.

3Go live

Publish on Cloudflare Pages.

Free hosting, with your site on a real web address. You do this once, then reuse the same loop for every change.

  1. Download your site from ClaudeRename the file to exactly index.html.
  2. Put it in a folder named after your businessThis folder is your website. Any photos go in here too.
  3. dash.cloudflare.com → Workers & Pages → Create applicationSign up free. Ignore the Workers options at the top.
  4. At the bottom: "Looking to deploy Pages? Get started"Choose to upload your files and name your project. The name becomes yourname.pages.dev.
  5. Upload the folder, not the file, then DeployOpen the new link on your phone and tap every button.

The update loop

Every change, same loop: Claude prompt → download → rename to index.html → replace it in your folder → Cloudflare: your project → Create new deployment → upload the folder. Your address stays the same.
4Your own address

Connect yourbusiness.co.za.

The domain is the only thing you pay for, as a small yearly fee. Buy only the domain. Say no to hosting, email and website-builder add-ons, because Cloudflare hosts your site for free.

Part 1 · Buy and add

  1. Buy the domain from a South African registrarFor example domains.co.za, Afrihost or Hostinger.
  2. Cloudflare → Domains → Onboard a domainUse the same account that holds your site.
  3. Type your domain, e.g. yourbusiness.co.za → ContinueNo www and no https. Leave DNS on the quick scan.
  4. Choose the Free plan → ContinueScroll down if you don't see it at first.
  5. Check the DNS records list → ContinueAlready use email on this domain? Make sure the MX records are listed, or your email can stop working.
  6. Copy your two Cloudflare nameserversThey look like name.ns.cloudflare.com. Keep this tab open.

Part 2 · Connect it

  1. At your registrar, open your domain → NameserversOften under "Manage domain" or "DNS". If DNSSEC is switched on, switch it off first.
  2. Replace the existing nameservers with Cloudflare's two and saveCopy and paste them. They must match exactly.
  3. Wait for Cloudflare's emailFrom a few minutes up to 24 hours. Your domain shows Active when it's ready.
  4. Workers & Pages → your project → Custom domains → Set up a domainType yourbusiness.co.za and confirm the record Cloudflare shows you.
  5. Repeat step 10 for www.yourbusiness.co.zaNow both addresses open your site.
Stuck at your registrar · attach a screenshot
This is my domain registrar's page. I need to replace my nameservers with these two Cloudflare nameservers: [paste both]. Tell me exactly what to click on this screen, one step at a time.

A professional email address, free

Once your domain is on Cloudflare, Email Routing can forward hello@yourbusiness.co.za to your existing Gmail at no cost. In Cloudflare, open your domain → Email → Email Routing, create the address and confirm your Gmail. This handles receiving. A full business mailbox, like Google Workspace, is an optional monthly subscription.

5Make it work for you

A website that works while you do.

Each addition is one prompt plus the update loop. Start with WhatsApp: it's the single biggest win for a South African business.

WhatsApp button · 2 minutes
Add a floating WhatsApp button in the bottom right corner on every screen size. It should open https://wa.me/27XXXXXXXXX?text=Hi%2C%20I%20found%20you%20on%20your%20website in a new tab. Use WhatsApp green with a white WhatsApp icon, and make sure it never covers other buttons on a phone.

Write your number with 27 in front and without the first 0. So 084 123 4567 becomes 27841234567.

Contact form · make the form at tally.so first
Replace my contact form with this Tally embed code, exactly as it is: [paste code]. Keep it full width on mobile. Under it add: "By submitting this form you consent to [business name] processing your information in line with our Privacy Policy."
Analytics · 30 seconds

See who visits

In your Cloudflare Pages project, open Metrics and switch on Web Analytics. Tomorrow you'll see visitors, where they came from and what they looked at. It doesn't use cookies.

Contact form

Where answers land

Every form submission arrives in your Tally dashboard. Switch on email notifications in Tally so you never miss one.

Add a chatbot with Typebot

  1. typebot.io → New Typebot → Start from scratchFive steps: welcome → your top 3 services as buttons → name → phone → thank you.
  2. Click Test (top right) and run the full flowCheck every step before you publish.
  3. Publish → Share → HTML & Javascript → BubbleSet the button colour to your brand and copy the code.
  4. Paste the prompt below, then run the update loopConversations land in Typebot → Results.
Chatbot bubble
Add this Typebot chatbot bubble just before the closing body tag: [paste code]. Position it on the left side so it doesn't overlap the WhatsApp button.
7Run it properly

Legal basics and getting found.

What a South African website needs depends on what it does. Work out which of these apply to you.

If you have a contact form

Privacy policy

POPIA applies to every business, whatever its size. Add a privacy policy page, a footer link to it and a consent line under your form.

If you take payments or bookings

Terms and business details

ECTA section 43: show your full business name, physical address, what you sell, prices and terms of sale.

If you add tracking

Cookie banner

Only needed once you add things like a Meta Pixel or Google Analytics. Cloudflare's analytics doesn't use cookies.

Starter legal pages
Create a POPIA-compliant privacy policy page and a terms of service page for [business name], a [type of business] at [physical address], South Africa. We collect [name, email, phone via the contact form / payments via Yoco]. Information Officer: [name, email]. Link both in the footer, and add under my contact form: "By submitting this form you consent to [business name] processing your information in line with our Privacy Policy."
Do this this week: register yourself as Information Officer with the Information Regulator at eservices.inforegulator.org.za. It's free and takes a few minutes. The pages above are solid starting templates, not legal advice. If you sell at volume, have them checked.

Get found on Google

On your site

Title, description, headings

Google reads these to understand what you do and where.

Biggest local win

Google Business Profile

Free at business.google.com. Puts you on Maps and local searches. Add your website link.

Tell Google you exist

Search Console

Free at search.google.com/search-console. Add your address and see which searches find you.

SEO basics
Add an SEO page title under 60 characters and a meta description under 155 characters for [business name] in [area], aimed at people searching for [service + area]. Make sure there is one main H1 heading, and add descriptive alt text to every image.
Nice link previews on WhatsApp
Add Open Graph tags so my site shows a proper preview when shared on WhatsApp, Facebook and LinkedIn. Title: [title]. Description: [one line]. Image: https://[my address]/share.jpg (I'll add a 1200 x 630 image called share.jpg to my folder).
8Maintain and back up

Keep it safe.

  1. One folder is your websiteKeep it in one place and never rename it. Every update replaces the file inside.
  2. Update with the same loopPrompt → download → rename → replace → new deployment → upload folder.
  3. Back up to Google Drive after every changeSave a dated copy, for example index-2026-10-12.html. If anything breaks, you have the last good version.
  4. Cloudflare keeps your history tooIn your project, open Deployments. You can roll back to any earlier version.
  5. Keep your Claude chatRename it to your business name and come back to it for every change.
9Troubleshooting

When things break.

Most problems come down to a file name or a folder. Check these first.

My site shows "Not found"
The main file must be named exactly index.html (lowercase, no "(1)" on the end) and sit at the top of the folder you upload.
My photos don't show
File names are case-sensitive online: Photo.JPG and photo.jpg are different files. Make sure the name in your site matches the file exactly, and that the photo is inside the folder you uploaded.
I deployed but I can't see my changes
Check you uploaded the new index.html to a new deployment. Then refresh with Ctrl+Shift+R (Cmd+Shift+R on a Mac), or open the site in a private window.
Claude says I've hit my message limit
Wait for the limit to reset, or continue in ChatGPT with the same prompt. When you return, start a new chat, attach your index.html and ask for the one change you need.
My domain still isn't working after a day
Compare the nameservers at your registrar with Cloudflare's two, letter by letter. Check DNSSEC is off at the registrar. Then confirm you added the domain under your Pages project → Custom domains.
My email stopped working after moving the domain
In Cloudflare, open your domain → DNS and check the MX records from your old provider are there. If they're missing, add them back from your email provider's help page.
Something else
Take a screenshot, paste it into Claude and ask: "This is what I see. What do I do next, one step at a time?" Still stuck? WhatsApp Khaalid with the screenshot.
10What opens up

What do you build next?

You can now put an idea online in an afternoon. Test the side project, the new service or the event before you spend real money on it.

What's free and what costs money

ToolWhat it doesCost
ClaudeBuilds and updates your siteFree plan
Cloudflare PagesHosting, analytics and email forwardingFree
Tally · Typebot · Cal.comForms, chatbot and bookingsFree plans
Your domainyourbusiness.co.za
Yoco · iKhokha · PayFastCard payments
Business mailbox, store platformsOptional upgrades when you need them

If you'd like to build sites for others

A starting point for pricing. Your tool cost is close to zero; your cost is time, about 3 to 5 hours for your first site and around 2 by your fifth.

PackagePrice
Basic site, live, with WhatsApp button and SEOR3,500
Add contact form and chatbot+R1,500
Add Google Business Profile setup+R800
Full packageR5,800
Monthly maintenance retainerR500/mo
The next level: apps with logins and databases (Lovable), automations (Make.com) and AI voice agents. That's the advanced workshop. Message Khaalid to join the waitlist.

You're not doing this alone.

Stuck on a step, or something broke? Message me with a screenshot. And send me your live link, I'd love to see what you built.

WhatsApp: 084 734 2601