You've built something. A webpage. An HTML file. Something that exists on your computer and works when you open it. Now what? This is the gap nobody explains well — the distance between "it works on my machine" and "it's live on the internet."
What "shipping" actually means
Shipping means putting something on a server — a computer that's connected to the internet 24/7 — so anyone with the URL can access it. Your laptop isn't a server. When you open a file on your laptop, only you can see it. To share it with the world, it needs to live somewhere else.
The good news: for static sites (HTML files with no backend database), this is genuinely free and genuinely simple. The tools that make this easy are some of the best things to come out of the modern internet.
Option 1: GitHub + Cloudflare Pages (what I use)
GitHub is a platform for storing code. Think of it as Google Drive but specifically designed for files that are code or websites. You upload your files there, and they're versioned — every change is tracked, and you can go back to any previous version.
Cloudflare Pages connects to your GitHub repository and automatically builds and deploys your site every time you push a change. It's free. It's fast. It gives you a URL immediately. And you can connect a custom domain (like aiforbeginners.au) with a few DNS settings.
This is the stack this blog runs on. Push to GitHub → Cloudflare sees the change → site updates in under a minute. Once it's set up, publishing a new post is just saving the file and pushing.
Option 2: Netlify Drop
If you want something even simpler: go to netlify.com/drop, drag your HTML file onto the page, and you have a live URL in seconds. No account needed. No GitHub needed. It gives you a random URL (something like `coral-gerbil-abc123.netlify.app`) that you can share immediately. Great for testing or quick prototypes.
Option 3: GitHub Pages
If you're already on GitHub, GitHub Pages is the most straightforward option — enable it in your repository settings, and your files are instantly live at `yourusername.github.io/repositoryname`. Free, reliable, zero configuration.
The custom domain step
If you want a real domain (not the default `pages.dev` or `netlify.app` URL), you buy one from a registrar like Namecheap or Cloudflare Registrar, then update the DNS settings to point to wherever your site is hosted. It sounds technical, but it's basically filling in two or three fields in a settings panel. If you're connecting to Cloudflare Pages, Cloudflare walks you through it step by step.