Skip to content
zero2vibecodelearn vibe coding
Level 4 · Shipping it 10 min Reviewed by the author · Aug 4, 2026

Putting it somewhere real

What deploying actually means, why a static page is the easiest thing in the world to host, and the checklist you run before you send anyone the link.

Level 4 · 0 / 3 lessons0%

A project on your laptop is a private hobby. A project with a link is a thing that exists.

The gap between those two is smaller than it looks, especially for the kind of project this course builds.

What deploying actually means

Deploying means putting your code somewhere that answers requests from the internet.

There are two kinds, and knowing which you have determines everything else.

Static. Your project is files — HTML, CSS, JavaScript, images. A server hands them over unchanged and the visitor’s browser does the rest. Readlist is exactly this: one file, and all the saving happens in the visitor’s own browser.

Static hosting is the easy mode of the internet. It is usually free at small scale, nearly impossible to break, and has almost no security surface, because there is no code of yours running on a server for someone to attack.

Server-side. Your code runs on a machine somewhere, for every request. You need this when there is a shared database, accounts, private data, or anything that must not live in the visitor’s browser.

It is more capable and it drags in a whole tail: a place to run, environment settings, secrets management, a database, logs, and a bill that grows with traffic.

Quick check

Your project is one HTML file that stores data in the browser. What do you need to host it?

Tip

If you can build version one as a static page, do. You can add a server later when you actually need one, and by then you will know what for. Starting with a server “in case we need it” is how a weekend project acquires a monthly bill.

Ask for the simplest

You do not need to research hosting platforms. Ask:

Readlist is a single HTML file with no build step and no server.
What is the simplest way to put it on the internet at a real URL?
Give me the steps, and tell me what it costs.

You will get concrete steps. Follow them one at a time and check after each — the same loop, applied to shipping.

Two things to insist on in the answer:

  • Cost. “Free at this size” is an acceptable answer. “It depends” is not — ask what it depends on.
  • How to undo it. Deleting a deployment, taking a site offline, cancelling. Know the exit before you take the entrance.

Quick check

What should you always ask about before deploying to a platform?

Step one is a repository

Whatever host you land on, the steps almost always begin in the same place: put the project in a and point the host at it.

The word is heavier than the thing. A repository is your project folder plus a memory of every version you saved. One command makes it, and it stays on your machine until you decide otherwise.

Here is the part that matters for shipping: the host does not copy your folder. It copies your last . A file that sits in the folder and never got staged is a file the server never sees.

Four commands, and only one of them requires a decision:

git init                        # start recording this folder
git status                      # what is here, what is tracked
git add readlist.html           # choose what goes in
git commit -m "first version"   # save the snapshot

The decision is the third line. Your folder holds things that are not the project: the copy you made before a risky change, scratch files, notes only you should read. git add . sweeps up every one of them — and on a static host, everything you ship is reachable at a URL, including the old copy you forgot about.

So you read git status first, every time. It is the shipping manifest.

Your turn. Run git init, then git status, and read the untracked list before you stage anything. Not everything in that folder belongs on the internet — decide which paths are the project and which one is only useful on your own machine.

Stage the ones you chose, by name, then commit. If git answers 2 files changed, you shipped what you meant to ship. If it says three, look again at what you just published.

Note

Git here is simulated, and git add . is a perfectly good habit once a folder contains only the project. The habit worth building is the git status in front of it — reading the list of what is about to travel, before it travels.

Why "it works on my machine" stops being true

The classic first deployment: everything works locally, the deployed version is blank.

Almost always the same cause. Your machine has things the server does not:

  • Files you created by hand and never committed — they are in your folder, not in the snapshot the host copied.
  • Installed tools that are simply not there.
  • Environment values — those keys you correctly kept out of the code now have to be set on the hosting platform too.
  • Data sitting in your browser or a local database, which the server has never seen.
  • Different paths. A file reference that works locally and is wrong on a case-sensitive server, which many are.

The test is the one from the previous lesson: a fresh copy, from scratch, following your own instructions. If you cannot get it running from a clean folder, the server cannot either.

Important

Environment values are the number one first- failure. Your local setup has them; the server does not until you add them there. Anything the code reads from the environment has to be configured in the hosting platform separately.

Quick check

Your site is blank after deploying but perfect locally. What is the most likely cause?

- Open the URL in a private window — no cached login, no saved data
- Open it on your phone, on mobile data, not your home network
- Check the empty state: what a brand-new visitor sees
- View the page source and search for anything secret
- Confirm nothing private is reachable by editing the URL
- Try the main action once, on the live version, exactly as a user would

That last one matters more than it looks. Deployed is not the same as working. Check the live version, not the local one you were staring at ten minutes ago.

Note

On a static page, everything is visible to anyone who looks — the code, the comments, any key you left in there. “View source” is a right, not a hack. Search yours before you share it.

Then tell someone

Send it to one person. A friend, a group chat, a forum, the person you built it for.

This is the part people skip, and it is where projects become real. A link that nobody has opened is still a private hobby, just with better hosting.

You will get feedback that is uncomfortable and useful, in that order. Add it to the Later list. Do not fix it all tonight.

Quick check

Why check the live URL rather than trusting your local version?

Check your understanding

Answered 0/3
Mode:

What is the difference between a static site and one that needs a server?

Why does "it works on my machine" stop being true once you deploy?

What must you check before sending anyone the link?

Finish the task in the terminal and answer the questions to complete the lesson.

📝 My notes

Saved automatically in this browser · shows up on the Notes page.

Task

Get Readlist into a repository — and commit only the two files that should ship.

Tab complete · history · Ctrl+L clear · help commands

  • Not done: Start recording the project folder
  • Not done: Read what would travel before you stage anything
  • Not done: Commit the two files that ship, and only those

Lesson Q&A

What is the difference between a static site and one that needs a server?

Static hosting hands over files. A server executes code per request, which is why it costs more and can break in more ways.

Why does "it works on my machine" stop being true once you deploy?

Local state — installed tools, environment values, files you created by hand — does not travel with the code unless you make it.

What must you check before sending anyone the link?

Reachability and secrets are the two things that are painful to fix after other people have the link.

Your project is one HTML file that stores data in the browser. What do you need to host it?

Nothing of yours runs on the server. It only needs to hand over the file, which is the cheapest kind of hosting there is.

What should you always ask about before deploying to a platform?

Cost and reversibility are the two things that are painful to discover afterwards. Both are one question away beforehand.

Your site is blank after deploying but perfect locally. What is the most likely cause?

Local state does not travel. Missing environment values and missing files account for most first-deploy blank pages.

Why check the live URL rather than trusting your local version?

Deployment can succeed while the site is broken: missing files, missing settings, wrong paths. The live URL is the only version that counts.

Related reading on the blog

Move between lessons with · search with ⌘K