Local shadow prototype
Attic Fanatics KPI Platform
GHL data comes in, Supabase stores it server-side, and this dashboard shows safe KPI aggregates without exposing credentials.
Loading Supabase warehouse KPIs…
KPI trust labels
Beginner-clear rule: every major dashboard area is labeled by how safe it is to use right now. Verified means it is backed by loaded warehouse tables/views. Provisional means useful for shadow review, but still needs a Benny rule decision. Blocked means the app should not pretend the metric is final yet.
Lead sources
Payment buckets
Data-quality/payment exceptions
Opportunity pipeline stages
Setter / appointment KPIs
Derived from normalized GHL contact custom fields: setter, appointment status, appointment date, and booked date.
Deposit + payroll readiness
Server-side aggregates reconcile GHL custom deposit fields against invoices/payments before marking inspector payroll ready.
Source-logic KPI views
Built from the read-only Sheets/Notion/Apps Script logic: setter weekly completion uses Appointment Date, weekend premium flags use Booked Date, inspector capacity defaults to max 5/day, and commission gates stay payment-verified.
Benny confirmation list
These are the remaining business-rule decisions that the app should not pretend are fully proven yet. The dashboard can show provisional numbers, but production payroll/commission approval needs these answers.
Attic scope buckets
Uses normalized GHL attic/home square-footage fields to size field work and spot missing scope data.
Custom field inventory
GHL field KPI mapping
Warehouse-derived, browser-safe mapping for setter, appointment, inspector scope, deposit, and source logic.
Collector status
Source logic learned from Sheets / Notion / Apps Script
Browser-safe summary only: formulas/tabs/functions/derived rules, no credentials or raw customer rows.
What this becomes
- Leads: how many, where from, owner/setter, booked rate, speed-to-lead.
- Money: projected cash flow, unpaid balances, missing deposits, partial payments.
- Sales: close rate, average ticket, average square footage sold.
- Exceptions: missing source, missing setter, sold/no deposit, completed/no estimate.