Operations

How to Build a Website the Way I Do: A Step-by-Step Deep Dive

The primer explained the layers. This is the order you do them in, what it really costs, and the two free tiers that will quietly break a business site.

10 min read1

A website is five layers. The domain, the code, the host, the database, and the services. That is the whole map, and it is the subject of the primer that goes with this piece. This is the other half, which is the order you actually do them in.

If those five words don't mean anything to you yet, read How a Website Actually Works first and come back. It takes five minutes and the rest of this will land better.

I'm writing this for somebody who has never written code and has a real business. You are not going to learn to program here. You're going to learn to direct, and to know enough about the pieces that nobody can bluff you about them. That's a different skill and it's the one that's suddenly worth something.

Fair warning up front: two of the free tiers in this stack will quietly break a business site, and I'd rather tell you now than have you find out in week three. That's further down.

What it costs, before anything else

Nobody puts this number at the top, so I will. Between about $21 and $76 a month, all in. Three versions of the same site:

VersionMonthlyWhat you get
Floor~$21Domain, hosting, and a free-tier tool writing the code. A real, live, compliant business site.
Typical~$51Same, with a paid AI tool that doesn't cap you at a handful of messages a day.
Ceiling~$76Add a database, for a site that has to remember things. Most small business sites never need this.

No setup fee, no contract, no agency retainer. You can cancel any piece of it in an afternoon.

I'll flag the cost at each step as we go, and there's a full itemized breakdown near the bottom with the date every price was checked. Prices in this business move, so treat the numbers as a shape rather than a quote.

Before you start

Set the expectation right, because most people set it wrong in both directions.

You can have something live on the internet in an afternoon. That part is real and it's the part that sounds fake. What takes longer is the judgment, knowing what to build, what to cut, what's worth paying for. AI writes the code now, and it's good at it, but it will happily build you the wrong thing beautifully and never mention it.

So the plan is: get something live badly and fast, then improve it in public. Not: build it perfectly and launch when it's ready. The second one is how people spend six months and ship nothing.

Step 1: Buy the domain first

Ten minutes, about eleven dollars a year, and do it before anything else, because it's the piece you own outright and everything else points at it.

Use a registrar that charges the same for renewal as it does for the first year. Cloudflare and Porkbun both do this and sit right at cost, around ten or eleven dollars for a .com. The reason I'm specific: the standard trick in this business is a cheap first year and a renewal at double or triple, and it catches almost everybody once. Look at the renewal price, not the sticker price.

Buy it in your own name, on your own account, with your own card. Not your developer's account. This is the single most common way small businesses lose control of their own website, and it usually surfaces years later at the worst possible moment.

Step 2: Open two accounts

GitHub, which is where the code and its history live. Free, and the free tier is fine for this, unlimited private projects and no commercial restriction. Have an authenticator app ready before you start because two-factor is required and getting halfway through signup without it is annoying.

Vercel, which is the host that runs the code. Sign up using your GitHub account so the two are connected from the start. Budget $20 a month here. Vercel has a free tier, it will look like the obvious choice, and it is not allowed for a business site. That's a whole section further down and it's the most expensive mistake in this article.

That's it for now. The database comes later and might never come at all.

Step 3: Pick the thing that writes the code

Here's where I have to be honest about a tension in my own advice.

ToolCostWhat it's likeWho it's for
LovableFree tier, then $25/moChat in a browser, it builds the app, no terminal ever. Provisions its backend on Supabase automatically.Someone who has never written code and wants a working thing this week.
v0Free tier capped at 7 messages a day, then $30/moVercel's version. Chat in a browser, generates the site, deploys straight to Vercel, syncs to GitHub.Same person, if you want to stay inside the stack this article describes.
CursorFree tier, then $20/moA real code editor with AI inside it. You will be looking at a file tree.Someone willing to learn what a file is.
Claude Code$20/mo, included with a Claude Pro planLives in your terminal. Most capable of the four, least forgiving.What I use. Not where you start.

Every one of them has a free tier you can start on today, and these free tiers are fine to use, unlike the two further down. v0's seven-messages-a-day cap is the real constraint, and a simple site is buildable inside it over a few evenings if you're patient.

The tension: the tools that get you live fastest are the ones that hide everything the primer just taught you. Lovable and v0 are very good and they abstract away the GitHub and Vercel and Supabase mechanics on purpose. If your only goal is a working site, start there and don't feel bad about it.

But if the reason you're reading this is that you want to understand what you own, use the one that makes you touch the pieces. Start with v0, because it writes to your own GitHub and deploys to your own Vercel, so the layers stay visible and yours even while something else is doing the typing. You can graduate to Cursor or Claude Code later, and by then you'll know why you're graduating.

Step 4: Deploy something bad, today

This is the step people skip and it's the most important one in the article.

Before you have any content, before you know what the site should say, get a placeholder live on a real URL. Vercel has a template gallery. Pick a blank-looking one, click deploy, and Vercel will create the GitHub repository for you and hand you a working web address in about ten minutes.

The site will be ugly and say nothing. That's correct. What you've done is prove the whole chain works end to end, which means every problem from here is a content problem instead of a plumbing problem. People who build locally for three weeks and then try to deploy for the first time hit six unrelated failures at once and can't tell which is which.

Ship the empty thing. Then fill it.

Step 5: Learn the loop

Everything from here is one motion repeated:

  1. You describe a change in plain English.
  2. The tool writes it and pushes it to GitHub, which saves it as a snapshot.
  3. Vercel builds it automatically and gives you a preview link, a private URL showing the change before anyone else sees it.
  4. You look at it. If it's right, you merge it and it goes live. If it's wrong, you throw it away and nothing happened.

That loop is the whole job. And the reason the preview link matters so much is that it removes the fear. You can try anything, look at it, and discard it, and the live site never flickered. When something does go out broken, Vercel's dashboard has a previous version sitting right there with a button that puts it back.

Nothing you do here is permanent, which means nothing you do here is scary. That matters more than any individual tool on the list.

Step 6: Point the domain at it

In Vercel, add your domain to the project. It gives you two or three DNS records. Paste those into your registrar. Wait somewhere between ten minutes and a few hours.

DNS is the phone book of the internet, and updating it is the one step in this process where the delay is out of everybody's hands. It's not broken, it's propagating. Get a coffee.

Step 7: Add a database only when something needs remembering

Most small business sites do not need one. If your site is pages of information and a way to contact you, you're done, and adding a database is work you're doing for no reason.

You need one when the site has to remember something between visits. Accounts people log into, orders, bookings, inventory, submissions you want to keep and search. That's when Supabase enters, and Vercel has an integration that connects the two without you copying secrets around by hand.

Wait for the need. Then add it. When you do, budget $25 a month for it, for reasons in the next section.

The two free tiers that will break a business site

Now the part I'd want somebody to tell me.

Vercel's free tier is not licensed for business use. Their fair use policy is unambiguous: Hobby teams are for non-commercial personal use only, and all commercial usage requires Pro or Enterprise. Their own definition of commercial includes advertising the sale of a product or service, which is exactly what a small business website does. A brochure site for your company on the free tier is a terms violation from the day it launches, even with no payments, no ads, and no traffic.

So the honest floor for a real business site is Vercel Pro at $20 a month. That includes a terabyte of data transfer and ten million requests, which a normal small business site will not come close to using. I'm not thrilled about writing "the free thing isn't free for you," but finding out later, from an email, is worse.

Supabase's free tier pauses your database after about a week of inactivity. Inactivity means nobody hit it. A new site with a contact form and light traffic hits that easily. You'd restore it by hand from the dashboard, and in the meantime anything that depended on it is broken. The free tier also keeps no backups at all. Fine for learning. Not fine for anything a customer touches. Supabase Pro starts at $25 a month and paid projects don't pause.

Neither of these is a scam. Free tiers exist to let people learn, and both companies say plainly what they're for. But "just use the free tier" is advice that gets handed around constantly, and for a business it's wrong in a way that only shows up later.

What it actually costs

Prices as of September 6, 2026, and this is the part of the article most likely to go stale, so check before you budget.

ThingCostNeeded when
Domain~$11/year, about $1/monthDay one, always
GitHubFreeDay one, always
Vercel Pro$20/monthThe moment it's a business site, which is day one
Lovable or v0 or Cursor or Claude Code$0 on a free tier, or $20 to $30/month paidDay one, and the free tiers are real
Supabase Pro$25/monthOnly if the site has to remember things
Email, payments, analytics$0 to variesOnly when you need each one, and most sites start at zero

Which totals:

  • ~$21/month with a free-tier building tool and no database.
  • ~$41 to $51/month once you pay for the tool that writes the code.
  • ~$66 to $76/month with a database on top.

For contrast, and this is the reason I bother writing it out: a bundled website builder on a business plan lands in roughly the same range once you're past the promotional first year, and it gives you no code history, no rollback, and nothing you can take with you when you go. You are not paying a premium for the arrangement in this article. You're paying about the same and keeping what you paid for.

What you're not paying is the part people expect. No setup fee, no minimum term, no per-page charge, and no invoice for changing the copy on your homepage.

Where people actually get stuck

Five real ones, in rough order of how often they bite:

  1. Your Supabase project paused and you didn't notice. Covered above. It's the most common stack-specific failure there is.
  2. Vercel can't see your GitHub repository. Almost always a permissions thing. You have to be the owner of the repository, not a collaborator on somebody else's.
  3. You pushed a change and nothing deployed. Usually the commit came from a Git identity Vercel doesn't recognize as having access.
  4. It works on your machine and fails when deployed. Next.js 16 changed its build system, and there's a live crop of build failures from it right now. If the build log is a wall of red, that's the moment to ask somebody rather than grind.
  5. Settings that are right in preview and wrong in production. Configuration lives separately per environment and it drifts. When something works in preview and breaks live, look here first.

When to stop and call someone

I'd rather say this plainly than pretend the DIY path goes all the way.

Do it yourself when the site is pages, images, forms, and information. That's most small business websites and you can own the whole thing outright.

Get help when money moves through it, when customer data is stored in it, when it needs to connect to software you already run, or when it's been broken for two days and you're going in circles. The tell isn't complexity, it's the ratio. When you're spending more time fighting the site than running your business, the math already went bad.

And there's a version in between that I like best, which is that you build it and somebody else looks at it. You keep the ownership and the understanding, and you get the outside read that saves the weekend.

That one I do for free, and it's called a teardown. You send me whatever you've got, half-built and ugly is fine and honestly more useful, and I record a short video of what I'd change and what I'd build next. There's an option on the form that says "something half-built." That's this. No call, no obligation, and if the video is useful and you never speak to me again, that's a completely fine outcome.

The point of all this

You can build a real website now without knowing how to code. That's new, it's not hype, and I don't think most business owners have registered it yet.

What hasn't changed is that somebody has to know what the pieces are. If you understand the layers and you own the accounts, you can hire anybody, fire anybody, and move any piece without starting over. That's what this is for. Not saving money on a developer, but never being stuck with one.


If you'd rather hand the whole thing to someone, that's what I do. If you'd rather build it yourself and have somebody look it over, send it to me and I'll record what I'd change. That part is free.

Every price here was read off the vendor's own pricing page on September 6, 2026: Vercel's fair use guidelines and Pro plan docs, Supabase's pricing and project-pausing docs, GitHub pricing, and the pricing pages for v0, Lovable, Cursor, and Claude. All figures are the monthly-billed rate. Several of these vendors lead with an annual-billed number that looks lower, so compare like for like when you check. This is the fastest-decaying part of the article, so verify before you commit to anything.

David Kerns

David Kerns

Operator, builder, creative. Sharing thoughts on the intersection of operations, product, and making things that matter.

More about David

Enjoyed this post?

Subscribe to get new posts delivered to your inbox. No spam.