Starter FreeUpdated April 27, 2026

Deployment

Deploy Starter Free to production and prepare your environment for real users.

StarterDeployment

OverviewLink to section

Running locally is step one. Deploying early is step two.

Starter Free is intentionally simple to deploy because it does not require a database, auth secrets, Stripe keys, or backend services yet.

The goal is to get a credible SaaS surface online quickly so you can:

  • test production builds
  • share a live demo
  • validate product direction
  • prepare the path to real users

Deployment principle

Deploy early. Wire progressively. Do not wait for the backend to exist before validating the product surface.

What you’ll doLink to section

Validate locally

Build and run the app locally before deploying to production.

Deploy to Vercel

Push the starter to your repository and import the project into Vercel.

Verify routes

Confirm the main SaaS surfaces and navigation flows work in production.

Mental modelLink to section

Starter Free deploys as a frontend-first product surface. Production wiring comes later.

TodayLater
mocked authreal session provider
mocked billingStripe Checkout and Portal
static invoicessynced invoice history
mock datadatabase-backed records
local UX validationproduction user flows

No secrets required yet

Starter Free can deploy without AUTH_SECRET, DATABASE_URL, STRIPE_SECRET_KEY, or STRIPE_WEBHOOK_SECRET because those systems are intentionally mocked.

StepsLink to section

Validate the production build locallyLink to section

Run the production build before deploying.

terminal
pnpm build
pnpm start

Then open:

browser
http://localhost:3000

If the app builds and starts locally, you have already caught the most common deployment issue.

Push to your repositoryLink to section

Create or connect your GitHub repository.

terminal
git remote remove origin
git remote add origin https://github.com/YOUR_USERNAME/YOUR_REPO.git
git push -u origin main

Use your own repository name and organization.

Import on VercelLink to section

On Vercel:

  1. create a new project
  2. import your repository
  3. keep the detected Next.js settings
  4. deploy

Starter Free does not require environment variables at this stage.

Verify production routesLink to section

After deployment, open the main routes:

production routes
/login
/register
/dashboard
/projects
/admin
/billing
/settings

You should be able to navigate the full mocked SaaS surface.

Future environment variablesLink to section

You do not need these variables for Starter Free, but they become relevant when the product moves toward real users.

.env.local
AUTH_SECRET=
DATABASE_URL=
STRIPE_SECRET_KEY=
STRIPE_WEBHOOK_SECRET=

Auth variables

Authentication variables become necessary once sessions, providers, and protected access are real.

AUTH_SECRETOAuth providersSession securityPassword reset

Production checklistLink to section

Before sharing the deployment, confirm that:

  • pnpm build succeeds locally
  • the deployed app loads without runtime errors
  • auth pages are reachable
  • dashboard pages are reachable
  • project routes work
  • admin, billing, and settings pages render
  • no required environment variable is missing
  • navigation works on desktop and mobile
  • mocked billing and auth are clearly understood as non-production wiring

Good deployment signal

If all routes load and the product surface feels coherent, the deployment is ready for demos, validation, and product iteration.

Decision guideLink to section

Deploy Starter Free when:

  • you want to share a demo
  • you need feedback from users or clients
  • you want to validate UX before backend work
  • you want a production URL for your product story
  • you want to catch build issues early

Move to Starter Pro when:

  • real users need accounts
  • routes must be protected
  • Stripe must charge customers
  • billing state must unlock features
  • backend data must replace mock data
  • deployment must support production operations

Prefer

  • deploy early to validate the product surface
  • run pnpm build before pushing
  • verify core routes after deployment
  • add secrets only when systems become real
  • upgrade when backend wiring becomes the blocker

Avoid

  • waiting for backend wiring before deploying
  • skipping production builds locally
  • adding unused environment variables too early
  • assuming mocked billing is production billing
  • sharing a demo before checking all core routes

TroubleshootingLink to section

Next stepsLink to section

Free to deploy. Pro to launch.

Starter Free gives you a live SaaS surface. Starter Pro gives you the production wiring behind it. → Upgrade to Starter Pro