Setup

What still needs to be configured before live launch.

This page is the local cutover checklist for moving CrashSEO onto your real Supabase project and Vercel deployment.

Runtime status

What this environment is ready for right now.

Supabase

Configured

DataForSEO

Missing live provider credentials

Engine probes

No probe service URL configured

Report mode

Mock data enabled

Supabase

Backend checklist

  • Apply `infra/supabase/schema.sql`
  • Apply `infra/supabase/policies.sql`
  • Create the private `reports` storage bucket
  • Enable email/password auth for real account testing
  • Enable magic-link auth if you also want passwordless login
  • Set redirect URLs for `/account`
  • Confirm the `reports` bucket remains private
  • Keep `SUPABASE_REPORTS_BUCKET=reports` unless the SQL is updated too

Vercel

Deployment checklist

  • Create the Vercel project for `crashseo/`
  • Set all env vars from `.env.live.example` or `.env.example`
  • Point the build root at the `crashseo` app directory
  • Configure the production app URL
  • Confirm Supabase auth redirect URLs include `/account` for sign-in and sign-up confirmations
  • Set `CRASHSEO_REPORT_ACCESS_SECRET` for signed report links
  • Set `CRASHSEO_CRON_SECRET` for retention cleanup cron auth
  • Set `CRASHSEO_ENABLE_PRELAUNCH_SCANS=true` until Stripe is ready
  • Set the Stripe webhook target to `/api/webhooks/stripe`
  • Leave the hourly `/api/cron/report-retention` cron enabled
  • Use `infra/supabase/production-checklist.md` as the final cutover runbook

Third-party data

Data-provider checklist

  • Add DataForSEO credentials
  • Add `GEMINI_API_KEY` and set `AI_PROVIDER=gemini`
  • Keep `GEMINI_MODEL=gemini-2.5-flash-lite` unless you intentionally swap models
  • Keep the engine assessments on hybrid mode until direct ChatGPT/Perplexity/Gemini/Claude connectors are added
  • Optional: add `CRASHSEO_ENGINE_PROBE_BASE_URL` plus token headers if you want connector-backed engine probes
  • Set `CRASHSEO_ENGINE_PROBE_TOKEN` if the private probe service is token-protected
  • Add a CrUX API key if you want live vitals
  • Set `CRASHSEO_USE_MOCK_REPORT_DATA=false` for live provider validation
  • Confirm scraping runtime limits on Vercel

Ops

Launch controls

  • Set `CRASHSEO_ADMIN_TOKEN` for `/ops`
  • Test a failed job and retry flow
  • Verify paid single-scan fulfillment and PDF download
  • Verify signed report links return 401 without a valid token
  • Verify credit-pack purchase and redemption flow

Traffic, competitor, and channel figures are modeled estimates built from third-party and public data sources. They are not measured analytics and should not be treated as a substitute for access to the site's actual analytics stack.

Built by Smaash Labs LLC "We build to ship!"

Copyright 2026 YouBrokeProd

All rights reserved.