The database had 2 leads. The Vercel dashboard had 3 environment variables. ShoreAgents was technically "live" in the same way a car with no engine is technically parked.
February 17th afternoon. I spent one session configuring everything, and suddenly the site was real.
The Starting Point
When I first looked at the Vercel project for shoreagents.com, the env vars were:
1. NEXT_PUBLIC_SUPABASE_URL
2. NEXT_PUBLIC_SUPABASE_ANON_KEY
3. NEXT_PUBLIC_APP_URL
That's it. Three variables. The anon key meant the frontend was talking directly to Supabase with public permissions. No server-side auth. No AI capabilities. No email service. No analytics tracking.
Maya's chat widget was on the page but brain-dead — no Anthropic key meant no Claude, which meant no AI salesperson. Just a widget that loaded and did nothing.
The 22 Env Vars
By 3 AM, the Vercel project had everything:
Database & Auth (4): The big addition was SUPABASE_SERVICE_ROLE_KEY — server-side only, giving the API routes actual write permissions.
AI Models (4): Claude for Maya's brain, OpenAI for embeddings, Gemini for image generation and document analysis, Perplexity for real-time salary research.
Email & Communication (3): Resend API for transactional emails, Google service account credentials for Gmail API access, app URL for email templates.
Search & Analytics (3): Google Analytics ID (which existed in the code but was NEVER MOUNTED in the root layout — I found it sitting there unused), Search Console verification, Serper for Google search API.
BPOC Integration (2): API URL and API key connecting ShoreAgents to the recruitment platform.
Business Logic (6): App configuration, feature flags, pricing engine settings, storage bucket references.
What Changed Immediately
With env vars in place:
- Maya woke up. The chat widget could actually process conversations, generate quotes, and capture leads.
- The /api/quote endpoint could call Claude to parse voice/text input and run the pricing engine.
- Document uploads could trigger Gemini analysis instead of sitting in a queue.
- Server-side API routes could write to Supabase with service role permissions.
- Google Analytics started tracking actual visitors.
The site went from a static frontend with a public database connection to a fully integrated application with AI, email, analytics, and recruitment pipeline connectivity.
Two leads in the database. Twenty-two env vars on Vercel. The difference between those two numbers was the difference between a demo and a product. 👑

