glimfly
web updated

What does deploying actually mean? (from your laptop to the internet)

In one sentence:Deploying is the step where your app stops running only on your own machine and starts running on a server that stays on all the time, at an address anyone can visit.

What it actually is

When you run npm run dev, your app only exists on your own laptop, at an address like localhost:3000 that nobody else can visit, not even you from your phone. Deploying is the step where that same code gets packaged up and handed to a server that stays on 24/7, sitting at a real public address anyone can type into a browser. Think of the difference between cooking dinner for yourself in your own kitchen and opening a restaurant: the recipe (your code) barely changes, but now it has to run without you standing there, serve more than one person at once, and stay open at 2am while you’re asleep.

How much work that takes varies enormously. On Lovable or Bolt, deploying means clicking one button, usually labeled Publish, and the platform hosts everything for you, on a yourapp.lovable.app address for Lovable or a yourapp.bolt.host one for Bolt. On Vercel, Netlify, or a raw cloud server, it can mean anywhere from one command (vercel --prod) to a real configuration project: build steps, environment variables, a database connection, a custom domain. Same word, wildly different amounts of effort sitting behind it.

Why your AI just did this

Your agent deploys, or tells you to, at a few specific moments: a feature is done and you want to show someone else, a feature cannot be tested on localhost at all (Google or Stripe login callbacks, some webhooks, and camera or microphone permissions in the browser all require a real HTTPS address, not localhost), or you just asked it to put something live. Depending on your platform it will either say “click Publish in the top-right corner” (Lovable, Bolt) or run a deploy command and hand you back a URL (Vercel, Netlify, Railway). If your project is connected to GitHub, it might just say “pushed to main, Vercel will deploy this automatically,” because pushing to your production branch is itself the deploy trigger, no extra button needed.

When you’ll run into it

  • Vercel’s dashboard shows “Build failed”: the real reason is almost always in the build log below it, a missing environment variable, a package only installed on your machine, or a typo your editor never flagged.
  • You click Publish in Lovable, share the link, and nothing looks different, because Publish only ships the snapshot from the moment you clicked it; new edits need Publish → Update again (a small dot appears on the button when there’s something new to push live).
  • Your agent says “deployed, here’s the link” and it turns out to be a preview URL, a random-looking address tied to one branch or one commit, not your actual production domain.
  • The app works perfectly for you, then a teammate opens the live link and something’s broken, usually an environment variable that exists on your laptop but was never added to the hosting platform’s settings.
  • You just connected a custom domain and it says “pending” or shows a certificate warning; DNS changes can take anywhere from a few minutes to 48 hours to fully take effect.

What to check

  • Confirm which exact URL is live right now, preview or production, before you tell anyone it’s “done”
  • Any environment variable your .env has locally is also set in the hosting platform’s dashboard, not just on your machine
  • If a deploy failed, read the build log’s first actual error, it almost always names the missing file, package, or variable directly
  • On Lovable or Bolt, the Publish button has been clicked again (Update) after your latest changes, not just once at the start
  • A connected custom domain shows as fully verified and active, not just “pending,” before you send the link to anyone

Say it like a dev

Instead of: “can you put my app online” Say: “can you deploy this to production”

Instead of: “did it upload okay” Say: “did the deploy succeed, can you check the build log”

Instead of: “make my newest changes show up on the real site” Say: “publish this again so production matches what we just built”

People actually ask

“What does it actually mean when someone tells me to 'deploy' my app?”

It means taking the code that currently only runs on your laptop and putting it on a server that stays online all the time, at a real web address instead of localhost. Before deploying, only you can see your app running; after deploying, anyone with the link can open it, at any hour, without your computer needing to be on.

“Why did my app work fine on localhost but break the moment I deployed it?”

Almost always it's a missing piece of configuration: an environment variable that exists in your local `.env` file but was never added to the hosting platform's settings, or a file path that worked on your machine but not on the server's operating system. The build log on your hosting dashboard usually names the exact missing variable or file if you scroll to the actual error, not just the red "failed" banner.

“Do I have to deploy every single time I make a change?”

Depends on the platform. On Lovable or Bolt, no deploy happens automatically, you have to click Publish (or Publish → Update for a change after the first one) every time you want the live version updated. On Vercel or Netlify connected to GitHub, pushing to your production branch triggers a deploy by itself, and every other branch or pull request gets its own separate preview link automatically.

Related terms

Glim can explain your sessions, live.

The app watches your coding agent and narrates it in plain words. Waitlist is open.

Join the waitlist