Ops

If something breaks

Human-level map of what is running, what to restart, and where the truth lives when a page is wrong.

There is one Next.js app. npm run dev is the whole product in demo. Production is the same code on Vercel plus whatever you plugged in (Postgres, Redis, Stripe, Supabase). proxy.ts is the front door (throttle, security headers, session). It is not middleware.ts.

What you are looking at

SymptomLikely causeWhat to do
Site 404 / blank on the domainDNS or Vercel domain not Valid/docs/deploy — A/CNAME from the Vercel dashboard, wait for the cert
401 on /owners or /adminNot signed in — branded unauthorized pageLogin: owner@ / driver@ / admin@gigrentals.com + 8+ character password
403 Wrong doorSigned in as the wrong roleUse the matching demo email
Listings or CMS vanished after deployVercel disk is ephemeralNeed DATABASE_URL / Supabase. Demo cookies do not follow the next serverless instance
Google/Apple login failsSupabase not configuredUse email demo logins until keys exist
Insurance will not bindINSURANCE_API_URL unsetDefault is simulated binders. Live Lula/Tint/ABI is an env + partner
Money / payouts missing in adminBy designOpen Stripe. The desk has no wallet
Process died locallynext dev timed out or crashednpm run dev again. Logs: the terminal that started it

Where the truth lives

  • Code and history — GitHub. git log is the trail.
  • What’s live — Vercel deployment SHA.
  • Cards and Connect — Stripe Dashboard only.
  • Accounts (production) — Supabase Auth / Postgres.
  • Demo listings/photos — .data/ on that machine, not on Vercel.
  • How a trip is allowed to move — backend/modules/pvsp (lease) and backend/modules/trips (dispatch).

Restart order (local)

  1. npm run dev — website + /api/v1.
  2. Optional: npm run dev:realtime (sockets :4001), npm run dev:worker (dispatch tick).
  3. Optional: npm run dev:infra (Docker Postgres/Redis) only if DATABASE_URL/REDIS_URL are set.