New lesson. Built so an educator can follow it solo, or walk a class through it together – and so students can do it themselves once they're comfortable. Use it, remix it, and tell me what's confusing; that's how it gets better.

Grow your own

Host your own site

You can put a real website online today – for free, with no special software – either by hand or by describing it to an AI assistant, and then dropping the files onto Cloudflare. This is exactly how BLOOM and a handful of other sites you may have seen were built. Here's the whole thing, plainly, with a few moments worth pausing to celebrate.

The quick version

For people who know what HTML, a folder, and a domain are, but haven't kept up with how sites get built and hosted in 2026. Two things have changed: an AI agent can write the whole thing, and good static hosting is now free and instant.

  1. Decide it's a static site

    Plain HTML/CSS/JS, no build step, no database. That covers most portfolios, course pages, guides, microsites. (If you need logins or a live backend, that's a later, bigger conversation – BLOOM itself adds Supabase for that.)

  2. Write the files – by hand or with an AI agent

    Either start from the tiny starter further down (no AI needed), or describe the site to an AI coding agent and iterate in plain English. Ask for "a static site, plain HTML/CSS/JS, no build step," and to keep everything in one folder. See choosing an assistant below.

    Tip: ask it to inline anything fragile (icons, small data) so the page also works when you just double-click the file. Fetches from disk silently fail.

    Iterating in plain English is fine while you're getting your bearings, but it's not the long-term habit. See building your own edit tool below, once the basics work, so small changes don't need asking AI at all.

  3. Put the files in one folder

    An index.html at the folder root is your home page. Other pages can be about/index.html/about/, and so on.

  4. Host it free on Cloudflare Pages

    Three ways, easiest first:

    • Drag-and-drop: Cloudflare dashboard → Workers & Pages → Create → Pages → "Upload assets." Drop your folder. Done.
    • Git-connected: push the folder to a GitHub repo, connect it in Pages, and every push auto-deploys. (Build command: none. Output dir: /.)
    • CLI: npx wrangler pages deploy . --project-name=yoursite

    You get a live yoursite.pages.dev URL right away.

    That's it – you just published a page on the open web.

    That address works for anyone, anywhere. Open it on your phone, send it to someone. Most people never do this; you just did.

  5. Point a custom domain at it (optional)

    Buy a domain (anywhere; ~$10/yr), add it to Cloudflare, then in your Pages project: Custom domains → add it. Cloudflare wires the DNS for you.

  6. Updating = re-deploy

    Edit the files (or ask the agent to), then drag the folder in again / push again / re-run wrangler. New version is live in seconds.

What it costs: Cloudflare Pages is free for this (generous free tier). A domain is the only thing that costs money, and it's optional – .pages.dev is free forever.

Which AI assistant should I use?

Any of these can write the files for you from a plain-English description. They (and their free tiers) change fast, so check current options – but here's the lay of the land, lowest-effort first.

1. Build it in your browser (no install)

v0, Bolt (bolt.new), Lovable – you type what you want and watch the site appear, right in a browser tab; many can publish for you too. The gentlest start if you've never opened a terminal.

2. A coding agent in your editor or terminal (more control)

Claude Code (Anthropic – the one that built BLOOM), OpenAI Codex, GitHub Copilot (in VS Code, and free for students via the GitHub Student Developer Pack), Cursor, Windsurf, or Cline (a free, open-source VS Code extension). These can also publish the site for you.

3. Just a chat assistant (most basic)

Claude.ai, ChatGPT, Gemini – paste your request, then copy the files it gives you into a folder by hand. Works with no special setup.

A habit worth building: When you're new to this, it's normal to ask the assistant to rewrite the whole file for every small change, even a typo. That's fine to start. But long term, it costs you time, and it costs real energy for work a plain text edit would do in ten seconds. Once the basics are working, ask the assistant to build you a small tool or editing interface for the changes you make most – swapping a photo, adding a line, changing a headline – so you can make routine edits yourself, without AI at all. You'll learn the file structure faster, and you'll stay in control of your own site.

No AI tool at all? You can still make a real page by hand. Copy this into a file named index.html and change the words – it's complete and accessible:

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>My first website</title>
  <style>
    body{font-family:system-ui,sans-serif;max-width:40rem;
      margin:2rem auto;padding:0 1rem;line-height:1.6;color:#16271C}
    a{color:#12513A}
  </style>
</head>
<body>
  <h1>Hi, I'm ___, and this is my first website.</h1>
  <p>I made this and put it on the internet. More to come.</p>
</body>
</html>

Save it, then host it the same way (the drag-and-drop step above). No assistant required.

Made something? Give it away, and teach it.

The whole point of doing it this way – free hosting, tools that do the heavy lifting, open formats – is that it's learnable and shareable. Once you've done it once, you can walk a colleague or a class through the same steps. Students can build a portfolio, a research guide, or a class project and have it live the same day – and feel that "I'm published" moment for themselves.

If you publish something, consider an open license so the next person doesn't have to start from zero. That's the idea behind BLOOM. See build it once, then give it away for the longer version of why.

Self-report when you finish and it shows as a small pill on your BLOOM profile, linking back to this lesson. It's a self-attested mark, not a verified credential.

Checking your profile…

Helpful, free references: Cloudflare Pages – Get started · MDN – Learn web development · U.S. Web Design System (accessibility-first components) · GitHub Student Developer Pack (free domain + tools for students).