Agentic Solutions
Back to Free Resources

Vercel: Putting Your App on the Internet

What it does

Vercel takes your app's code and puts it on a real web address you can open from the truck, the office, or a wet basement on your phone. Connect it to GitHub and every saved change rebuilds the live version for you. It also runs the small scheduled jobs a restoration or remodeling app needs, like a daily check for subcontractor insurance certificates (COIs) that are about to expire.

What it costs

  • Hobby (free): $0. Vercel's own pricing page says Hobby is for personal, non-commercial use. An app you run your restoration or remodeling business on is commercial use.
  • Pro: $20 a month per developer seat, with a $20 monthly usage credit included. This is the plan for a business tool.
  • Vercel offers one free 14-day Pro trial per account. Add a payment method before it ends, or the team drops back to Hobby.
  • On Hobby you can't buy extra usage. If you hit a limit, that feature stops until the limit resets.

A 10-minute setup

Where your keys go. Every service here gives you secret keys. Keep them in exactly two places: your password manager, and your app's settings.

  • If an AI agent with its own cloud computer builds for you (like Grok Bot): paste each key into the agent's secret card or Secrets section, never into the chat. Saved values can't be read back, so keep your own copy.
  • If you build in a folder on your own computer: put keys in a .env.local file, and make sure .gitignore lists .env* before your first save.
  • On Vercel: add the same keys under Settings, Environment Variables, then redeploy.

Never put a key in a screenshot, an email, or browser code. Anything starting with NEXT_PUBLIC_ is readable by anyone.

  1. Put your app's code on GitHub first (see the GitHub guide).
  2. Sign up at vercel.com with your GitHub account.
  3. Set up a Pro team: team switcher, Create Team, pick Pro (or Pro Trial), then add a payment method under Settings, Billing.
  4. In that Pro team, click New Project, pick your repository, and click Deploy.
  5. When the build finishes, open the .vercel.app address it gives you.
  6. Go to Settings, Environment Variables and add each of your app's settings, names typed exactly.
  7. Redeploy from the Deployments tab. New settings only take effect on a fresh deploy.
  8. Sign in on the live address and open a real job. "The page loads" and "the app works" are two different things.

Common mistakes and gotchas

  • Hobby is non-commercial. A tool you run jobs, crews, or claims through belongs on Pro.
  • Your .env.local file doesn't go live by itself, on purpose. If every page errors after you publish, the live app is missing a setting your computer has.
  • Adding a setting doesn't update the live app. Redeploy.
  • Scheduled jobs: on Pro, as often as once a minute, on time to the minute. On Hobby, once a day at most, and the run time can drift within the hour.
  • Find your undo button now. Instant Rollback points your address at an earlier version. On Pro you can pick any earlier live version. On Hobby it only goes back one.

Where it fits in your build

Vercel comes after GitHub. Set up a Pro team first, then deploy a nearly empty starter page on purpose, so publishing problems show up before there's anything real to break. Later you'll copy every setting from your computer to Vercel, redeploy, and point Twilio and Resend at the live address. If your app sends a daily COI check, that runs as a Vercel scheduled job.

Sources

Last checked: October 7, 2026

Read the full guide


Full article

What Vercel actually does for a restoration or remodeling app

Think of your app in three pieces: the code (the blueprint), the database (the job file cabinet), and the host (the building people walk into). Vercel is the building. It holds the screens your office manager and project managers open, and it runs the small bits of code behind them: "save this drying log reading," "assign this drywall sub to the Miller rebuild," "email me which COIs expire in the next 30 days."

It also gives you three places your app can live:

  • Your computer while you build.
  • Preview addresses: every change you push to a branch other than your main one gets its own private test address. Good for trying a new change-order screen before your crew sees it.
  • Production: the real address everyone uses.

What it costs, in more detail

  • Hobby, $0. Includes 1 million function runs, 100 GB of fast data transfer, and 1 million CDN requests a month, which is far more than a single-shop internal tool uses. The catch is the non-commercial rule, plus no way to buy extra usage.
  • Pro, $20 a month per developer seat. There's one free 14-day Pro trial per account, with a $20 credit, capped at the trial's usage limits. If you're the only person changing the code, that's one seat. The people who just use the app (your PMs, your office) don't need Vercel seats. The $20 included credit covers usage first. New teams start with a $200 on-demand budget with alerts, so a runaway month gets flagged instead of silently billed.
  • Enterprise: custom pricing. You won't need it for this kind of tool.

The full setup, step by step

Before you start: your code should already be on GitHub, in a private repository, with .env* listed in .gitignore.

  1. Sign up at vercel.com and choose Continue with GitHub. Approve the access GitHub asks for. You can limit it to just this one repository.
  2. Set up a Pro team. Open the team switcher, choose Create Team, and pick Pro, or Pro Trial if this account hasn't used its one 14-day trial. Then go to Settings, Billing and add a payment method, so the team doesn't drop back to Hobby when the trial ends. If this app will run your business, it belongs here from day one. Hobby is fine for a throwaway practice project.
  3. Create the project. In your Pro team, click New Project, find your repository in the list, and click Import. Vercel spots that it's a Next.js app and fills in the build settings. Leave them alone.
  4. Add your settings before the first real deploy if you already have them. Open Environment Variables on the import screen and add each one: the name goes in Key, the value goes in Value. If you keep a .env.local file, that's the part before and after the = on each line.
  5. Click Deploy. The first build takes a few minutes. The scrolling log is normal. If it ends in red, copy the last 20 lines and hand them to your AI coding assistant.
  6. Open the live address. Sign in. Open the jobs list. Open one job. Add a test note. If you can do all four, the pipeline works.
  7. Redeploy after every settings change. Go to Deployments, click the three-dot menu on the newest one, and pick Redeploy.
  8. Point outside services at the live address. Twilio (for texts) and Resend (for email replies) need to know where to deliver incoming messages. Your AI coding assistant can walk you through each dashboard.
  9. Check the scheduled job. In the project, open the cron jobs settings and confirm your daily COI check is listed. On Pro it runs at the minute you set. Ask your assistant how to trigger it once by hand so you don't wait until tomorrow to find out it works.

More gotchas worth knowing

  • Commercial use on Hobby. A common mistake, and an easy one to fix: switch to Pro before the app does real work.
  • Settings are per environment. A value saved only for Preview won't exist in Production. When in doubt, check all three boxes.
  • Secret values go in the server settings only. Anything starting with NEXT_PUBLIC_ ends up in the browser, where anyone can read it. Your database secret key or connection string, Twilio auth token, Resend API key, and Stripe secret key must never have that prefix.
  • A rollback doesn't undo a settings change. Instant Rollback brings back old code, not old settings. If a new setting broke things, fix the setting and redeploy.
  • After a rollback, new pushes don't go live on their own. Vercel turns off automatic production updates after a rollback. Once the fix is in, click Undo Rollback on the project's overview page so new pushes go live again.
  • Hobby cron timing is loose. A job set for 6:00 AM can run any time between 6:00 and 6:59. For a once-a-day COI check, that's fine. For anything time-critical, it's not.
  • Hitting a Hobby limit means waiting. Vercel's Hobby docs say that in most cases you wait 30 days for the limit to reset. You can't pay to lift it.

The order that saves the most trouble

  1. Create the Pro team before there's any code.
  2. Deploy the starter page and open it on your phone.
  3. Build the real features and test them on your computer.
  4. Copy every setting to Vercel (Production, and Preview if you use it), then redeploy.
  5. Point outside services (Twilio, Resend, Stripe webhooks) at the live address.
  6. Check that the scheduled job is listed, and run it once by hand.

Back to Free Resources