FREE WEBSITES!! How I make small, side-project websites for free (pretty much)

There was a time when a new web-based side project was a case of buying a domain, firing up a WordPress instance, wading through installs of a bunch of plugins and maybe a page builder theme. But this was slow and, in many cases, bloated, and could get expensive with domain and hosting costs. In many cases it was way more than I actually needed.

I now have a process that gets me small, fast, side-project websites for virtually zero cost.

This week I quickly spun up EV Tools for me to do some calculations while I was in Europe. Zero cost. Just the coding. So easy. Kick-ass performance scores. Automated deployment from Git. What’s not to like?

This method is not for the everyday web user, as you will see. But if you do web dev, there may be some stuff here that’s an “Aha!” moment for you.

Let’s see how it works…

The Stack

Essentially the not-so-secret sauce here is:

In addition I have a starter template that includes TailwindCSS, Tailwind Forms and Typography plugins and AlpineJS for JavaScript sprinkles. I happen to own a license for TailwindUI too if I need something more fancy, as I’m NOT a designer.

For those domains I put subdomains on? I happen to own veryuseful.app (which has a nice index, built using this very system, of course!) and forwp.dev (which is new and only has one secret project on it at the moment).

If you can find one that works (and with all the new top-level domains like .tools and .dev and .app it’s not so hard!) then these let you create as many sub-domains as you like, for free!

Sure, they may not have the SEO juice or be so memorable. But the point of these projects is to quickly put something on the web for me, or to share on social media. Not to build a new SaaS or something. So it really doesn’t matter. And if it does: keep forking our for those domains, or just upgrade later!!

The Process

As I said, the process is a bit complicated if you don’t know what you’re doing. You’ll need to do DNS and Git and command-line and hand-code (or copy and paste, or generate with AI) HTML and CSS. You can bolt onto that whatever you like, but that’s a minimum.

And once you “get it”, you can replicate this process pretty quickly. You can probably even automate more of it with CLI tools and APIs.

I won’t go into how to do each step. If you’re qualified to use this process, you probably don’t need those extra details anyway.

Here’s the main steps:

  1. Create a new Git repository from my template in GitHub.
  2. Clone the new repository locally.
  3. Make some HTML files.
  4. Run the build step (./build.sh)
  5. Commit everything to Git and push to GitHub
  6. Set up a new Cloudflare Pages project, connect to GitHub if you need to, and deploy the application on a temporary URL (Cloudflare uses <something>.pages.dev)
    • With my template you need to set the build output directory to “public”
  7. Save and deploy the site
  8. Once deployed, you can go and add the custom domain. If you specify a new subdomain of a domain that you own, this will be created and DNS set up for you. It will even create an HTTPS certificate!

That’s it. Now you can edit your HTML/CSS/JS files, use the build step when you need to, and a push to GitHub will trigger a deploy. Magic!

This new tech is awesome

So many cool new bits of tech have come together to make this possible.

Modern CSS and JavaScript is amazing. You don’t need libraries/frameworks for simple sites.

I pair it with Tailwind because I like that for small projects that I need to revisit from time to time and it’s proven to be robust and – crucially for this kind of project – low on dependencies.

And I use AlpineJS for those reactive JS sprinkles without needing a full-on framework that will go out of date.

“Jamstack” hosting gives us static hosting for free.

LetsEncrypt secures the web for us for free with HTTPS.

Subdomains give me unlimited domains (virtually) for free for new small projects.

GitHub hosts the code and pairs with the static hosting to achieve automated deployments with no FTP or anything.

I also use Fathom Analytics on some sites. This is not free, but as long as they remain low-traffic I get 100,000 page views a month spread across up to 50 sites. This lets me get some idea of who is coming and from where without the need for faffy cookie banners or privacy policies.

WHAT AN AMAZING WORLD WE LIVE IN that we have access to all this at low cost so we can tinker and play and create as web people!?

And if you’re curious, here’s some sites that I use some of all of this technique on: