Get your app off localhost and onto the public web — the concepts that transfer between any host. Builds and output, environment variables and secrets, git-based and preview deploys, custom domains and HTTPS, and monitoring. Vercel and Railway appear as examples, not click-by-click tutorials, because the ideas outlast the dashboards.
Taking the app off your machine and putting it on a server the public can reach. "localhost" only exists on your computer; deploying makes it live at a URL.
A build turns your source into optimized static files and server code; runtime is the host actually serving them. Most frontend hosts run your build command, then serve the output.
A static site is plain files served from a CDN — cheapest and fastest. A server-rendered app runs code per request (SSR/API routes) and needs a host that runs Node, not just file hosting.
A PaaS (Platform-as-a-Service) like Vercel or Railway handles servers for you — you push code, it deploys. Static hosts (Netlify, GitHub Pages) serve files only. A VPS gives full control but you manage everything.
Values that differ between local, staging, and production (API URLs, keys) — set in the host's dashboard, never hardcoded. Your app reads them at build or runtime.
Anything sent to the browser is public. API keys and database URLs must stay server-only; on the frontend, only variables explicitly marked public (e.g. a NEXT_PUBLIC_ prefix) reach the client.
The host needs two things: the command that builds your app (e.g. npm run build) and where the output lands (a dist or build folder). Most frameworks are auto-detected; otherwise you set them once.
Connect your repo and every push to the main branch deploys automatically. This is the default on modern PaaS hosts — no manual upload step.
Every pull request gets its own temporary live URL, so you (and reviewers) can click through the real change before it merges. One of the biggest reasons to use a PaaS.
Run tests and checks automatically before a deploy goes live, so broken code never ships. Pairs with GitHub Actions and branch protection from the GitHub course.
When a deploy breaks production, roll back to the previous working version in one click. Because each deploy is immutable and kept, recovery is instant — know where this button is before you need it.
Point your own domain at the host by updating DNS records, then the platform issues an HTTPS certificate automatically (usually via Let's Encrypt). HTTPS is non-negotiable for production.
Good hosts serve static assets from a CDN (copies worldwide) and set cache headers for you. Pairs with the Performance course — fingerprinted assets can be cached for a year.
After launch, watch runtime logs for errors and connect error monitoring (e.g. Sentry) so you hear about problems before users report them.
Static/SSR hosts handle the frontend; a backend or database needs a host that runs long-lived processes. Railway and similar PaaS platforms provision a database and deploy a server alongside it.