I Made This Site in 15 Hours by Quitting 3 Times

April 20, 2025

I Made This Site in 15 Hours by Quitting 3 Times

A little while ago this site didn’t exist. Now you’re here, and so am I, because a coding contest gave me an excuse to do web dev. So let’s talk about that.

This post is about: Making this blog, making AI do my job, and constantly finding ways to stop doing.

The Excuse: A Competition and a Domain Name

It started with the Vibe Coding competition. I needed somewhere to host a WebGL game entry. That meant figuring out domains, DNS, and all that nonsense. It turns out, especially with AI helping (which was kind of the point of the competition), getting the basics set up was surprisingly simple. (Getting an Ubuntu VM to serve up 3 files was not.)

So now I had this domain, and surely it would be good for something? Multiple things! Maybe I’d even win the competition (spoiler: unlikely) and get some attention. More realistically, I wanted to make a personal site anyway, half the work was already done, and who was going to stop me?

How I did the thing

So one thing I found is when working on these small projects, or perhaps all projects, is that it’s really important to go fast.

But just going fast is actually bad. Going fast leads to rushing. Rushing leads to mistakes. Mistakes lead to more work fixing them. More work leads to going less fast. It’s where all this technical debt, development hell, and such stuff comes from.

All this project management advice talks about how to schedule and prioritize tasks, but that’s just rearranging the same pile of work.

The real way to go fast, is to stop doing.

No really just stop doing. Just give up. And then you will find that you can get so much more done.

Here’s how I did the smallest amount of doing for this website:

1. Stop Doing: Before You Even Start

The easiest thing to stop doing is one where you haven’t even started doing the doing. This means picking the smallest amount of things you need. And then make it simpler than that.

What did I really need from a site? A place to link projects, maybe collect subscribers, maybe write things down. That’s it.

I picked Astro as the tech stack for that, and that’s about the entire stack.

I seriously considered just raw HTML – the ultimate simplicity. But I anticipated needing reusable components and maybe blog functionality later. While Astro adds a tiny bit more initial setup than plain HTML, it prevents painting myself into a corner. It’s the minimum needed to avoid major re-work later. It’s stopping future doing at the cost of a little present doing.

The joy of simple requirements is simple code. The joy of simple code is fewer bugs. The joy of fewer bugs is less work. And I am here to find joy in life. Or at least in web dev, if such a thing is possible.

By keeping the requirements small, I gave up on dozens of features before writing a single line of code - the most efficient way of not-doing.

2. Stop Doing: By Making AI Do It

Why do work when AI can do it for you? In the olden days, this used to be manager advice about delegating to your employees. But now, you, (yes you!) can delegate anything you like to AI, and that means a lot less doing!

There’s all this talk of vibe coding going around, which is about getting the AI to do your code. But that’s uncreative. Instead, you should get the AI to do your everything:

  • Deciding site features? Ask AI.
  • Picking a tech stack? Ask AI.
  • Explaining jargon? Ask AI.
  • Learning web dev from scratch? Ask AI (Seriously, half my time was AI explaining basics).
  • Drafting this blog post? Ask AI.

AI sure is wrong sometimes! But it’s also right sometimes! And that is actually a very powerful thing you can do a lot with. The trick is you don’t have to listen to the AI - if it suggests something silly - you can always ignore it. But if you’re not trying to offload every possible task first, you’re just choosing to do more doing.

I used AI heavily for this, mostly Cursor with Google’s Gemini 2.5 Pro. It follows instructions well, unlike some other models that try to do too much doing. It does love adding descriptive comments everywhere, but that’s manageable. Crucially, when it gets stuff wrong, I don’t fight with it - I reverted history and tried again or something else. Fighting the AI is also something you can stop doing!

3. Stop Doing: By Giving Up

We begin with the programmer’s credo: “We do things not because they are easy, but because we thought they were going to be easy.”

With any project, things will always go wrong. And when you realise you’re in that situation, the answer is simple: Stop doing it. Just give up.

Not on the whole project mind you, but on that specific thing.

It’s the good old Pareto principle: a few tasks will eat most of your time. So if you want to go fast you need to stop as soon as things start taking longer - or they might more than double your total project time!

What I do is this: if something isn’t working after a good try or two, and it’s not critical, give up on it. Do something else. You can always return to this later, and often with better ideas. Or better yet, realise that you never needed this thing in the first place.

Here’s what I gave up on after finding it too hard:

  1. My site is minimal, so a cool background does a lot of the heavy lifting. I started working on this a few times and ran into it getting difficult. The moment I was seeing the process slow down, I just gave up. After a couple of stoppings, the AI suggested some moving dots effect, which turned into the background I have now. The initial version took 20 minutes, at which point I decided it was good enough to keep. The time saved by giving up on the hard way went into polishing this simpler effect, making it great.
  2. At one point I imagined having game-like UIs for each project page. However, that sounded like tons of work. Then I realised the art required would double the project time – AI speeds up code, but not (yet) the kind of art I needed. So I gave up. And reused the same background with different colours. That’s good enough for now, and I can always wait for a better idea to come later.
  3. I needed email signups, and got a provider working. But then I hit an account confirmation snag which might take days to resolve with support emails. Why wait when you can give up? Instead, I spent 30 minutes setting up a custom domain email, switched to ConvertKit, and it just worked. But also: ConvertKit had a better free tier. Giving up not only saved time but got a better result, too!

Results: What Stopping Gets You.

I’ve never hand made a website before. And having done it, I don’t think I’ll use a site builder like Wix ever again.

Here’s why:

  • Cost: About $12 a year via Cloudflare for the domain. Everything else (hosting, email, subscriptions, ect.) is for the incredible price of free. Sounds like a lot less financial doing than the hundreds that website builders charge.
  • Quality: It runs fast (I hope), it looks good (I claim). The control meant I could have a much smaller thing overall. The MVP site was done in 3 prompts! The rest of my time was spent on polish - the background, design, and even this blog - which is arguably polish itself.
  • Time: 15 hours and 32 minutes, which includes me learning web dev from scratch. Far less time and frustration than I remember wrestling with site builders.

I’m pretty happy with the results. It could be that an experienced web dev could do this site better and faster, who knows.

But I do know one thing: In the year of our lord 2025, it sure seems like making a website is easier than ever.

Even This Blog Might Get Stopped

This blog almost got stopped too. Ongoing content? Sounds suspiciously like… more doing. But the site felt incomplete. So, here it is, for now.

But the rule stands: if writing these becomes a chore, if it stops being efficient or fun? I’ll do the same thing. I’ll stop doing the blog. We’ll see how that goes.

So, if you want to go fast, don’t just try harder. Try harder to stop doing.

So with all that in mind, remember: Always give up!


If you found this interesting and want to see if I give up on this blog or actually write more, consider subscribing below.

Enjoyed this? Get occasional updates: