# DryGuard NZ — Programmatic Lead-Gen Site

Demo build by OMNAXIS / Bestcomm.AI. A deployable waterproofing lead-generation site with a
service × city page engine, schema markup, an instant-quote tool, and GoHighLevel (GHL)
speed-to-lead integration.

## Structure
```
site/
├── index.html                       # Homepage (hero + quote tool + proof + locations + FAQ)
├── deck-waterproofing-auckland.html # Hand-built exemplar landing page
├── leaking-roof-repair-tauranga.html# Hand-built exemplar landing page
├── data/matrix.json                 # 7 services × 10 cities (edit to scale)
├── generate.js                      # Node generator → /pages + sitemap.xml
├── pages/                           # 70 generated landing pages (run generate.js)
├── sitemap.xml                      # Auto-generated, submit to Search Console
└── assets/quote-tool.js             # Multi-step quote + lead capture + speed-to-lead
```
*(styles.css is shared at the project root `../assets/styles.css`. For standalone deployment, copy it into `site/assets/` and update the `<link>` paths.)*

## Generate / scale the SEO footprint
```bash
cd site
node generate.js          # writes 70 pages + sitemap.xml
```
Add a service or city row to `data/matrix.json`, re-run — the footprint scales automatically.
7 × 10 = **70 pages** today; add 5 services + 5 cities → 15 × 15 = **225 pages**.

## Go live — connect leads to GoHighLevel (speed-to-lead)
1. In GHL: **Automation → Workflows → Create → Inbound Webhook** trigger. Copy the webhook URL.
2. Paste it into `assets/quote-tool.js` → `GHL_WEBHOOK_URL`.
3. Build the GHL workflow (this is what makes speed-to-lead work):

```
Trigger: Inbound Webhook (form submit)
  → Create / update Contact (name, phone, email, suburb, service, urgency, estimate, reference)
  → Add to Pipeline "New Lead"
  → IMMEDIATELY (0 min):
       • SMS to customer: "Hi {name}, DryGuard here — got your {service} request. A specialist
         will call you within minutes. Ref {reference}."
       • Email to customer: confirmation + what happens next
  → Route to contractor (0 min):
       • SMS/notify the matched Gold/Standard contractor for that city
       • Round-robin or first-to-accept assignment
  → If no contractor response in 10 min → escalate to next contractor / your mobile
  → Follow-up sequence if customer not contacted: SMS at 1h, 24h, 72h
```

**Why speed matters:** contacting a home-services lead within ~5 minutes vs 30 can lift contact
rates several-fold. The whole architecture exists to make that automatic.

## Deploy
Static site — host anywhere: **Netlify / Vercel / Cloudflare Pages** (drag-and-drop the `site` folder),
or any web host. Point a domain (e.g. a keyword domain like `waterproofingquotes.co.nz` helps SEO),
add SSL, submit `sitemap.xml` to Google Search Console, and stand up Google Business Profiles per city.

## Notes
- Brand "DryGuard NZ", phone numbers, reviews and pricing are **illustrative placeholders**.
- Pricing bands are sourced from public NZ ranges; confirm before going live.
- Replace emoji icons with a proper icon set / real photography for production polish.
