The $0 option

Every tool I use is free. Learn it and build something that loads instantly.

The frameworks, the hosting, the deployment pipeline — all free, all open source. I'm giving you the exact same toolkit I use on every client build. A static site built with Astro will outperform any Squarespace, WordPress, or Wix site on the planet — and it'll cost you nothing but time and curiosity. What I can't give you is 25 years of knowing what to do with it.

Why Astro

Most websites are content with a few interactive bits. Astro is built for exactly that.

There's a whole industry of tools designed for building web applications — complex, stateful, interactive software that runs in the browser. React, Vue, Angular. They're brilliant at what they do. But most business websites aren't applications. They're pages, content, navigation, and maybe a contact form. Using an application framework to build a content website is like hiring an architect to hang a picture frame.

Astro gets this. It ships zero client-side JavaScript by default. Your pages are pre-built HTML, served instantly from a CDN. If you need a carousel or a pricing toggle, Astro lets you add a tiny island of interactivity — just for that one component — without dragging in an entire framework. The page is static by default. Interactivity is the exception, not the rule.

This isn't a limitation — it's a design philosophy. And it's the reason Astro sites load in under a second while platform sites are still waiting for their JavaScript to finish initialising.

Zero JavaScript by default

Astro ships pure HTML. No framework runtime, no hydration overhead. Your visitors get content instantly — not a blank page waiting for scripts to load.

Islands of interactivity

Need a search bar or an image gallery? Add interactivity only where it's needed. The rest of your page stays static, fast, and simple.

Components without the SPA baggage

Reusable layouts, headers, footers, and content blocks — all the organisation of a modern framework without shipping a single kilobyte of runtime to your visitors.

File-based routing that makes sense

Put a file in src/pages/ and it becomes a page. No router configuration, no middleware, no magic. about.astro becomes /about. It's that simple.

Bring your own flavour

Prefer React for a component? Use it. Like Svelte? Use that. Astro doesn't care — it renders everything to static HTML and only ships the JavaScript you explicitly ask for.

Built for websites, not web apps

Astro is purpose-built for content-driven sites — exactly the kind of website most businesses actually need. It's not a compromise. It's the right tool for the job.

01 — The stack

Every tool I use. All free.

This is the exact stack behind every site I build. No paid software, no proprietary platforms, no vendor lock-in. You can set all of this up today without spending a cent.

Framework

Astro

The static site framework. Generates pure HTML, ships zero JavaScript by default, and supports components from React, Vue, or Svelte if you need them. This is the engine.

Styling

Tailwind CSS

Utility-first CSS framework. No writing CSS files, no naming things. Style directly in your HTML with classes like text-lg, bg-white, and rounded-xl. Fast to learn, faster to build with.

Code editor

VS Code / Cursor

Free code editor from Microsoft. Cursor is a fork with AI built in. Either works. Install the Astro extension and you're ready to go.

Hosting

Cloudflare Pages

Free static site hosting on Cloudflare's global CDN. Push your code, it builds and deploys automatically. No server to manage, no bill to pay.

Version control

GitHub

Free code hosting and version control. Every change is tracked. Connect it to Cloudflare Pages and your site deploys automatically when you push code.

Domain

Cloudflare Registrar

Domains at wholesale cost — no markup, no renewal tricks. The only part of this stack that isn't free, but it's the cheapest option available. Around $10–$15/year.

Images

Astro Image

Built into Astro. Automatically optimises, resizes, and converts your images to modern formats like WebP. No Photoshop, no image CDN subscription needed.

SEO

Google Search Console

Free. Submit your sitemap, monitor your search performance, see what queries bring people to your site. The single most important SEO tool and it costs nothing.

AI coding

Claude

AI that can write code, explain errors, generate schema markup, and help you debug. The free tier is genuinely useful. Ask it to write an Astro component and it will.

02 — The process

From zero to live in seven steps.

This is the same process I follow for every build. It's not complicated — it just takes care and attention. If you can follow a recipe, you can build a static website. The learning curve is real, but everything here has excellent documentation and active communities.

Set aside a weekend to get through steps 1–4. The rest you can work through over the following week. Your first site will take the longest. Your second will take a quarter of the time.

Step 1

Set up your tools

Install VS Code (or Cursor), Node.js, and Git. Create a free GitHub account and a free Cloudflare account. This takes about 20 minutes.

Step 2

Create an Astro project

Run npm create astro@latest in your terminal. Choose the basic template. Install Tailwind CSS. You now have a working site on your machine.

Step 3

Build your pages

Astro uses .astro files — HTML with superpowers. Create your pages in the src/pages/ folder. Home, about, services, contact. Write the content in HTML, style it with Tailwind classes.

Step 4

Add your content and images

Drop your images into the src/images/ folder. Astro will optimise them automatically. Write your text directly in the page files or use markdown for blog posts.

Step 5

Set up SEO

Add meta titles and descriptions to every page. Create a robots.txt file. Install @astrojs/sitemap to auto-generate your XML sitemap. Add JSON-LD structured data for your business.

Step 6

Push to GitHub

Commit your code and push it to a GitHub repository. This is your backup, your version history, and your deployment trigger — all in one.

Step 7

Deploy on Cloudflare Pages

Connect your GitHub repo to Cloudflare Pages. Set the build command to npm run build and the output directory to dist. Every push now deploys automatically.

03 — What to learn

The skills that matter. Nothing more.

You don't need a computer science degree. You don't need to learn React. You need basic HTML, enough Tailwind to style a page, and enough Astro to structure a site. That's it. AI can help you write every line — you just need to understand what it's writing.

Start with the Astro tutorial. It walks you through building a complete blog from scratch. Once you've done that, you'll understand 80% of what I do day to day. The other 20% is schema markup and experience — and the schema part is learnable in an afternoon.

Here's the thing people don't tell you: learning to build a static website is learning how the internet actually works. Not how a platform works — how the web works. HTML, a server, a browser. Once you understand that, no platform can hold your content hostage, and no subscription can hold your business to ransom. That knowledge is worth more than any template.

04 — The SEO checklist

The invisible work that makes people find you.

A beautiful website that nobody finds is just a poster in a locked room. This is the technical SEO checklist I follow on every build. None of it is visible to your visitors — all of it is visible to Google, Bing, ChatGPT, and every other system deciding whether to recommend you.

Most of this is straightforward once you know it exists. The hard part isn't doing it — it's knowing to do it at all. That's what this list is for.

05 — Three paths

Free tools, paid platforms, or a website built around your business.

Every option gets you a website. The difference is what that website does for your business once it's live.

Free tools

DIY with code

$10–$15/yr

The stack on this page. Free frameworks, free hosting, full control. You learn the tools, you do the work, you own every line. The cheapest path — if you have the time.

  • Hosting & SSL Free
  • Framework & editor Free
  • Ongoing costs ~$12/yr domain
  • Design You
  • SEO & schema You
  • Maintenance None needed

Squarespace / WordPress / Wix

DIY with a platform

$276–$780/yr

Drag-and-drop editors make it easier to get something online. You can always edit it, but no one who understands your business has touched it. Templates look fine — they just look like everyone else's.

  • Platform subscription $23–$65/mo
  • Domain name $12–$20/yr
  • Premium themes/plugins $0–$300/yr
  • Design Templates
  • SEO & schema Basic or plugin
  • Maintenance Updates & patches
Best ROI

Hire me

Built for your business

avg $3,200

I get to know your business, your customers, and your goals — then build a website tuned to all three. 25 years of small business experience, not just code. The return on investment isn't even close.

  • Hosting & SSL Free
  • Ongoing costs ~$12/yr domain
  • Design Custom to your brand
  • SEO, schema & GEO Full build
  • Business strategy Built in
  • Maintenance None needed

06 — The honest truth

The tools are free. The experience isn't.

Everything on this page is real. You can build a great website with these tools and pay almost nothing. But a website isn't just code — it's a business decision. Which pages matter. What your customers need to see first. How search engines and AI should understand what you do. Where the gaps are between what you offer and how the internet presents you.

That's what 25 years of working with small and service businesses teaches you. Not which button to click — but which problem to solve. I've spent 25 years in digital marketing, 17 years running my own businesses, and every build I do starts with understanding yours. The website I build for you won't just look good — it'll be tuned to your business goals in ways a template or a tutorial never could be. That's the difference, and that's where the return on investment lives.

DIY gets you

  • The same tools the professionals use
  • Full control over your code
  • Near-zero running costs
  • A genuine understanding of how the web works
  • A site that's fast and functional

Working with me gets you

  • A website shaped around your actual business goals
  • SEO, schema, and AI visibility done properly
  • Someone who understands small business inside out
  • A far greater return on what you spend
  • Your time back to run your business

Ready to build — or ready to talk?

If you want to DIY, everything you need is on this page. If you'd rather have someone who gets your business build it for you — I'm here.