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.

Contacts loadedraw GHL contacts in Supabase
Opportunities loadedpipeline/stage warehouse rows
Projected duefrom loaded invoices
No payment/depositinvoice exceptions
Invoices loadedraw invoice rows
Payments loadedpayment/order rows
Appointmentscalendar events loaded
Data issuesmissing source/owner and payment issues
PipelinesGHL pipelines loaded
Stagespipeline stages loaded
Users / repsdirectory or fallback user IDs
Fields / forms / submissionscustom fields + forms + form submissions

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.

Loading business-rule questions…

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.

Loading field KPI mapping…

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.

Loading source logic extract…

What this becomes