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. 👑
Frequently Asked Questions
What was the initial state of the ShoreAgents Vercel project?
Initially, the ShoreAgents Vercel project had only three environment variables: NEXT_PUBLIC_SUPABASE_URL, NEXT_PUBLIC_SUPABASE_ANON_KEY, and NEXT_PUBLIC_APP_URL. This setup meant the frontend was directly interacting with Supabase using public permissions, lacking server-side authentication, AI capabilities, email services, or analytics tracking.
What key functionalities were added by increasing the environment variables?
By increasing the environment variables to 22, key functionalities were enabled, including server-side write permissions for the database via SUPABASE_SERVICE_ROLE_KEY, AI capabilities for Maya's chat widget and document analysis, transactional emails, and Google Analytics tracking. It also allowed for integration with a recruitment platform and various business logic settings.
What was the immediate impact of configuring the additional environment variables?
Immediately after configuring the additional environment variables, Maya's chat widget became functional, processing conversations and generating leads. The /api/quote endpoint could utilize Claude, document uploads triggered Gemini analysis, and server-side API routes gained write access to Supabase. Google Analytics also began tracking visitors, transforming the site into a fully integrated application.
The Takeaway
The significant increase in environment variables transformed a basic, static frontend into a fully functional and integrated application. This demonstrates that the difference between a minimal demo and a robust product often lies in the comprehensive configuration of backend services and integrations.

