Know Before You Open. — AI Business Launch Intelligence for local brick-and-mortar entrepreneurs.
Validate demand, analyze competitors, optimize pricing, and get a GO / PIVOT / AVOID verdict powered by Perplexity Deep Research and Google Maps.
- Open the app → Analyze My Business Idea (live APIs) or View Sample Report (instant demo)
- Complete the 4-step intake wizard
- Perplexity deep research runs in the background (1–5 min) while Google Maps loads competitors
- Walk through 9 intelligence dashboards → AI Executive Command Center
- Vite + React + TypeScript + Tailwind
- Netlify (paid) — static site + serverless functions
- Perplexity
deep-researchvia background function + polling - Google Maps Geocoding, Places Nearby, Place Details
- Netlify Blobs for research job state
npm install
npm run dev # UI only (functions need netlify dev)
npm run dev:netlify # UI + functions at http://localhost:8888| Variable | Required | Description |
|---|---|---|
PERPLEXITY_API_KEY |
Yes (live) | Perplexity Agent API — deep-research preset |
GOOGLE_MAPS_API_KEY |
Yes (live) | Server key: Geocoding, Places API |
SITE_ID |
Yes (live) | Netlify → Site configuration → General → Site ID |
NETLIFY_BLOB_STORE_TOKEN |
Yes (live) | Personal access token (Blobs scope) |
VITE_GOOGLE_MAPS_API_KEY |
No | Same key, referrer-restricted for map embed |
VITE_USE_MOCK |
No | true = skip APIs |
Enable in Google Cloud: Geocoding API, Places API, Maps JavaScript API.
- Push to Smilingtimes/Cursor-Winner-
- Netlify → Add site → Import from Git
- Build:
npm run build· Publish:dist· Functions:netlify/functions - Add env vars above
research-start-backgroundis a background function (the-backgroundfilename suffix is what makes Netlify run it async, up to ~15 min on paid plans)
Open https://YOUR-SITE.netlify.app/.netlify/functions/diagnostics — checks API keys and Netlify Blobs read/write.
If you see uncachedEdgeURL or demo data mode:
- Add
SITE_IDandNETLIFY_BLOB_STORE_TOKENin Netlify env vars (required — not optional) - Redeploy the site
- Visit
/.netlify/functions/diagnostics— all checks must beok: true
- Landing + View Sample Report → full dashboards (no keys)
- New analysis with keys → progress UI → real report
- If Perplexity/Maps fail → demo data banner on Market Validation
Intake submit
→ maps-data (sync) — Google Geocoding + Nearby + Details
→ research-init (sync) — creates jobId in Netlify Blobs
→ research-start-background (background) — Perplexity deep-research
→ research-status (poll) — returns pending | complete | error
| Route | Screen |
|---|---|
/ |
Landing |
/sample |
Load Harvest & Hearth sample report |
/intake |
Business intake wizard |
/validation |
Market validation |
/customer-gap |
Customer gap analysis |
/competitive |
Competitive intelligence |
/pricing |
Pricing intelligence |
/setup |
Business setup assistant |
/financial |
Financial feasibility |
/brand |
Brand positioning |
/roadmap |
30-day launch roadmap |
/command-center |
AI verdict |
MIT — hackathon demo.