Temp Build Page
Live build tracker – internal only
Completed items
Active build items
Queued build items
Waiting on client
Excluded from scope
Game Plan
Lead Flow
- 1
Lead list
DoneShaye’s weekly CSV from the provider: name, phone, address, sometimes last solar application date.
Tool: CSV upload
- 2
Format phones, names and addresses
DonePuts every row in the same format so dedupe and outside lookups work correctly.
Tool: Built-in
- 3
Dedupe (file + GHL)
In ProgressRemoves repeat leads so reps don’t call the same person twice and we don’t pay to check them twice.
Tool: Built-in + GHL API
- 4
Name check
In ProgressKeeps real individuals, removes trusts, LLCs and blank names; AI only reviews leftover unclear names to save tokens.
Tool: Rules + Grok (planned)
- 5
Internal do-not-contact check
In ProgressRemoves anyone already marked Do Not Contact, DND or Wrong Number.
Tool: Built-in suppression list + GHL
- 6
DNC check (National + Florida + Litigators)
In ProgressRemoves do-not-call numbers and known serial TCPA plaintiffs; these are never skip traced.
Tool: DNC scrub vendor
- 7
Phone validation
In ProgressRemoves dead/disconnected numbers and Google Voice / internet-only VoIP; tags mobile vs landline.
Tool: Twilio Lookup or Veriphone
- 8
Skip trace (failed numbers only) → re-run DNC + validation
In ProgressFinds a current homeowner number, then runs the same compliance checks before keeping it.
Tool: BatchData
- 9
Enrichment
In ProgressAdds selling info for reps and removes homes that already have solar installed.
Tool: BatchData (new homeowner, purchase date, owner verified) · Shovels (solar permits) · Google Solar API (sun hours, max panels, est. kWh)
- 10
Location tags
DoneLabels each lead with market, city and zip for routing and smart lists.
Tool: Built-in
- 11
Push to GHL
In ProgressCreates contact + opportunity at New Lead in the right market pipeline, with enrichment fields and round-robin rep assignment.
Tool: GHL API
- 12
Rejected-leads report + nightly 31-day recheck
In ProgressShows why leads were removed for provider credits; re-scrubs active leads against DNC every 31 days.
Tool: Built-in + DNC vendor
Funnel Model
Estimates – replace with real numbers after the first sample CSV
| Stage | Brief estimate | Live model |
|---|---|---|
| Lead list in | 6,000 | 6,000 |
| Format (~2%) | 5,880 | 5,880 |
| Dedupe (~5%) | 5,590 | 5,586 |
| Name check (~3%) | 5,420 | 5,418 |
| Internal DNC (~1%) | 5,370 | 5,364 |
| DNC check (~30%, range 20–40%) Biggest unknown | 3,760 | 3,755 |
| Phone validation (~25%) | 2,820 | 2,816 |
| Skip trace recovered (+~280) | 3,100 | 3,096 |
| Enrichment – already has solar (~4%) | ~2,950 | 2,972 |
| Pushed to GHL | ~2,950 (~49% of the list) | 2,972 (49.5%) |
Brief estimates are rounded planning targets. Live model applies each rate sequentially.
Reps & Results
13 reps · ~229 leads/rep/week · Brief target: ~227
| Weekly | Conservative (15% pickup) | Client’s rate (30% pickup) | Brief targets |
|---|---|---|---|
| Conversations | ~446 | ~892 | ~440 / ~885 |
| Appointments (1 in 8) | ~56 | ~111 | ~55 / ~110 |
| Sits (50%) | ~28 | ~56 | ~28 / ~55 |
| Closes (50%) | ~14 | ~28 | ~14 / ~28 |
| Installs (75%) | ~10 | ~21 | ~10 / ~21 |
To reach ~42 installs/week, plan for ~12,000+ raw leads/week or count the 6,000 after cleaning.
Vendor Stack
| Vendor | Used for | Status | Billed to |
|---|---|---|---|
| DNC scrub vendor (DNC.com, Tracerfy or similar) | National, Florida, litigator scrub | Not connected | Client |
| Twilio Lookup or Veriphone | Phone validation, line type, Google Voice filter | Not connected | Client |
| BatchData | Skip tracing + property data (new homeowner, owner verified) | Not connected | Client |
| Shovels | Solar permit status (filed vs installed) | Not connected | Client |
| Google Solar API | Sun hours, max panels, est. kWh | Not connected | Client |
| Grok | Unclear name review only | Not connected | Client |
| GoHighLevel API | Dedupe, push, rep assignment | Not connected | Client |
| Enzy | Rep leaderboards and competitions | Not connected | Client |
Needed From Client
0 / 13 ready · Demo sessionBuilt So Far
Lead Engine App (Lovable)
- Dark design system + dashboard with sample statsDoneDate not provided
- New Import flow: market select, CSV upload, column mapping, simulated 9-stage pipeline, resultsDoneDate not provided
- Import History + Import DetailsDoneDate not provided
- Rejected Leads table with CSV exportDoneDate not provided
- Settings (markets, reps, integrations, compliance placeholders)DoneDate not provided
- Demo login with Admin / Uploader rolesDoneDate not provided
- Real authentication + database (Lovable Cloud)Done
- Save imports, leads and rejections to the databaseDone
- Format phones/names/addressesDone
- Dedupe within file + previous importsDone
- Name check (rules)Done
- Internal do-not-contact checkDone
- Location tagsDone
- Provider adapter layer (mock/live)Done
- Name Review queueDone
- Provider tracking + scorecardDone
- Lead Funnel visualizationDone
GoHighLevel (Solar Connect Pro sub-account)
- 4 pipelines: San Jose, Naperville, SoCal, TampaDoneDate not provided
- 14 identical stages in each, incl. 3 No-Answer Follow-Ups + Wrong Number, with win % and stage colorsDoneDate not provided
- Team permissions set (Darren, Lecia, Shaye as Users, no billing/account access)DoneDate not provided
- Custom field: "Last applied for solar permit" (date)DoneDate not provided
Still To Build
Phase 1 – Foundation
2 items| Item | Phase | Status | Blocked By | Notes |
|---|---|---|---|---|
| Real authentication + database (Lovable Cloud) | 1 | Done | — | — |
| Save imports, leads and rejections to the database | 1 | Done | — | — |
Phase 2 – Cleaning Pipeline
15 items| Item | Phase | Status | Blocked By | Notes |
|---|---|---|---|---|
| Format phones/names/addresses | 2 | Done | — | — |
| Dedupe within file + previous imports | 2 | Done | — | — |
| Dedupe against existing GHL contacts | 2 | In Progress | — | Needs GHL API · Built on mock, awaiting live key |
| Name check (rules) | 2 | Done | — | — |
| Grok review for leftover unclear names only | 2 | In Progress | — | Built on mock, awaiting live key |
| Internal do-not-contact check | 2 | Done | — | — |
| DNC scrub: National + Florida + Litigator | 2 | In Progress | Client's DNC registry account number + scrub vendor account | DNC hits are removed and never sent to skip tracing. · Built on mock, awaiting live key |
| Phone validation: live/disconnected, tag mobile vs landline | 2 | In Progress | Validation vendor account | Built on mock, awaiting live key |
| Filter Google Voice / non-fixed VoIP numbers in phone validation | 2 | In Progress | — | Reject nonFixedVoip; keep fixedVoip (Comcast/Vonage home phones). · Built on mock, awaiting live key |
| Location tags | 2 | Done | — | — |
| Skip tracing for failed numbers, then re-run DNC + validation on new numbers | 2 | In Progress | — | Vendor: BatchData. Failed validation only. · Built on mock, awaiting live key |
| Provider adapter layer (mock/live) | 2 | Done | — | — |
| Name Review queue | 2 | Done | — | — |
| Provider tracking + scorecard | 2 | Done | — | — |
| Lead Funnel visualization | 2 | Done | — | — |
Phase 3 – GHL Push
6 items| Item | Phase | Status | Blocked By | Notes |
|---|---|---|---|---|
| Push clean leads to the correct market pipeline at New Lead via GHL API | 3 | In Progress | — | Built on mock, awaiting live key |
| Map "last applied" date to the custom field | 3 | In Progress | — | Built on mock, awaiting live key |
| Round-robin rep assignment | 3 | In Progress | — | Built on mock, awaiting live key |
| Wrong Number / Do Not Contact workflows feed back into the internal suppression list | 3 | Not Started | — | — |
| Nightly 31-day DNC re-scrub of leads still being worked | 3 | In Progress | — | Built on mock, awaiting live key |
| Sync enrichment custom fields to GHL (New Homeowner, Purchase Date, Owner Verified, Solar Permit Status, Permit Filed Date, Sun Hours/Year, Max Panels, Est. Annual kWh) | 3 | In Progress | — | Built on mock, awaiting live key |
Phase 4 – Phones & Dialing
4 items| Item | Phase | Status | Blocked By | Notes |
|---|---|---|---|---|
| Buy ~24–30 local numbers across market area codes | 4 | Blocked | Client approval | — |
| Turn on Local Presence Dialing | 4 | Not Started | — | — |
| Assign fallback numbers per rep | 4 | Not Started | — | — |
| Verify callback routing goes to the contact's assigned rep | 4 | Not Started | — | — |
Phase 5 – Reporting & Enzy
3 items| Item | Phase | Status | Blocked By | Notes |
|---|---|---|---|---|
| Real dashboard stats from the database | 5 | Not Started | — | — |
| Enzy sync: GHL stage events → Enzy leaderboards | 5 | Blocked | Enzy access / integration method | — |
| Install tracking for commission reporting | 5 | Not Started | — | — |
Phase 5.5 – Enrichment
6 items| Item | Phase | Status | Blocked By | Notes |
|---|---|---|---|---|
| BatchData: new homeowner, purchase date, owner verified | 5.5 | In Progress | — | Built on mock, awaiting live key |
| Shovels: solar permit status (filed – not installed / installed) | 5.5 | In Progress | — | Target stalled/cancelled permits; attorney sign-off on pitching homeowners under contract. · Built on mock, awaiting live key |
| Remove leads whose home already has solar installed (final permit on file) | 5.5 | In Progress | — | Built on mock, awaiting live key |
| Google Solar API (sun hours, max panels, est. kWh) | 5.5 | In Progress | — | Built on mock, awaiting live key |
| Sync enrichment to GHL custom fields | 5.5 | In Progress | — | Built on mock, awaiting live key |
| Credit scores – excluded for FCRA compliance; collected by reps / financing partner with consent instead. | 5.5 | Removed | — | — |
Phase 6 – Later
1 items| Item | Phase | Status | Blocked By | Notes |
|---|---|---|---|---|
| Remove the surface-level county check once skip tracing is live | 6 | Removed | — | Replaced by BatchData owner verification in enrichment. |
Improvement Ideas
Run the sample CSV through DNC first
The DNC hit rate is the biggest unknown in the funnel model; get the real number before finalizing lead volume.
Priority smart list for reps
Call new homeowners with high sun hours first.
Provider credit report
Auto-generate a monthly rejected-lead report per provider for credits.
Per-number answer-rate tracking
Spot spam-flagged numbers early by comparing pickup rates for every local number.
Provider scorecard
Track rejection rate per lead list to push for provider credits.
Best-time-to-call by market
Use pickup data to identify the strongest calling windows in each market.
Weekly auto-email summary
Send the client a weekly summary of imports and rejections.
Duplicate-across-weeks alert
Flag leads the provider has already sent in a previous week's list.