Direct counts or SQL views already executing against Supabase/GHL data.
Forward-facing KPI preview
Attic Fanatics KPI Dashboard
This is the cleaner test view for Benny: segmented KPIs, per-user/per-segment drilldowns, and an explicit trust label on every metric so unconfirmed logic is not treated as final.
Useful for testing, but the rule/date/attribution still needs signoff.
Business decision, access issue, or missing source blocks final use.
Morning operating dashboard
Category-first app shell: pick a department lane instead of scrolling one raw numbers page. Cards below use the current /api/kpis snapshot and keep every caveat visible.
Appointment command center
A polished first-glance operating panel for Appointment Tracker: what is happening today, which source is driving each number, where confidence breaks, and a mini funnel before Benny opens any raw table.
Today pulse
Appointment mini funnel
Source integrity
Appointment Tracker proof lane · Sheets vs GHL/app
This is the required first truth check for morning review. It keeps Booked Date, Appointment Date, and Completed Appointments separate and displays source conflicts directly instead of hiding them inside raw tables.
Today attribution from read-only tracker
PII-safe setter/inspector slices from the Master Appointment Tracker reconciliation artifact.
Source conflict table
Trust is Needs Benny wherever Sheets and GHL/app disagree. No Google Sheets or GHL writes were made.
Appointment decision cockpit
A board-style executive layer over the Appointment Tracker lane: source disagreement, today readiness, and Benny decision gates are visible before opening any raw rows.
Appointment review explorer
Clickable, non-raw working board for Benny: filter Appointment Tracker KPIs, open the calculation path, and see PII-safe row examples where the current static snapshot has supporting rows.
Appointment flow · 7-day operating timeline
A mobile-first visual timeline for the Appointment Tracker lane. Each day is clickable and compares booked contacts, scheduled calendar events, tracker appointment-date contacts, and completed-status contacts from the current static Supabase/GHL snapshot.
Appointment Tracker daily pulse
Polished first lane for Benny: status chips, clickable pulse tiles, a visible calculation/source drilldown, and a compact appointment change timeline from current static Supabase/GHL snapshot rows.
Selected KPI source path
Appointment timeline / change history
Uses row examples where data exists. Contact refs are hashed and PII-safe.
Today front-screen KPIs
The app now starts with business-facing daily metrics instead of raw warehouse counts. Zeroes are real query results for the current Eastern date, not placeholders.
Appointment Tracker validation lane
First validation lane before sales/commission: compare booked dates, calendar scheduled appointments, custom-field statuses, and reconciliation buckets with explicit source/calculation paths.
Appointment KPI source paths
Appointment Tracker source/calculation paths
Deep validation for the first review lane: booked today, scheduled today, cancelled/rescheduled, ran/completed, no-show, setter, inspector, outcome/source, and PII-safe row samples where the warehouse has data.
Setter validation breakdown
Shows whether the Appointment Tracker has setter attribution attached to the same contact rows as booked dates, appointment dates, and completed/cancel/no-show statuses.
Inspector / calendar owner breakdown
Uses loaded calendar events only. Inspector names remain provisional where GHL user-directory access is blocked and only assigned_user_id/calendar_id is loaded.
Outcome / source breakdown
Groups appointment-linked contacts by loaded source and opportunity outcome so Benny can check source/outcome behavior before sales, close-rate, or commission logic is trusted.
PII-safe appointment/reconciliation samples
Contact refs are hashed samples, not customer names/phone/email. These are for Benny to spot-check source conflicts before any sales/commission lane is trusted.
Reconciliation review samples by bucket
Five PII-safe rows per reconciliation bucket where data exists: matched tracker/calendar, tracker date missing calendar event, and calendar event missing tracker date. This is the fastest spot-check for whether Appointment Tracker or calendar should win.
Appointment status rule map
Explicit status-to-KPI mapping from the loaded calendar statuses and the loaded contact appointment_status custom field. This calls out exactly where cancelled, rescheduled, ran/completed, and no-show logic is verified vs still provisional/Needs Benny.
Appointment quality gates
Concrete Appointment Tracker lane for this run: tracker coverage, calendar coverage, match rate, and completion rate. This stays before sales/commission so Benny can validate appointment truth first.
Appointment Tracker 7-day validation
Concrete validation lane added before sales/commissions: a daily cross-check of booked-date contacts, scheduled calendar events, tracker appointment dates, and completed-status contacts. All rows are read-only from existing Supabase/GHL warehouse tables.
What Benny can decide from this page
Metric trust audit
Counts the visible preview blocks by trust level so nothing looks final unless it is labeled that way.
Benny test guide
Fast way to review the preview without guessing what is final. No production GHL workflows/webhooks, Slack, or Telegram are touched by this page.
/api/kpis coverage
Live API-backedShows which safe segments are currently feeding the page and where the data is still blocked.
Benny review lanes
Four plain-English lanes for testing the page: what is already safe to review, what is only shadow logic, and what must not drive payroll or automation yet.
Release gates before this becomes real
Beginner-safe go/no-go list. Green can be trusted for preview; yellow/red are still open and keep this out of production.
Benny review queue
The safest next clicks/questions in plain English. Each item says what data supports it, what Benny can do with it, and why it is still Verified, Provisional, or Needs Benny.
First drilldowns Benny should spot-check
A shortcut panel that pulls one representative row from each safe /api/kpis segment. It makes the preview easier to test before digging into the big tables below.
Data freshness and reconciliation
Beginner check: what loaded recently, what appointment sources disagree, and what is safe to trust before Benny reviews business rules.
Warehouse object freshness
Appointment status summary
Appointment reconciliation gates
These rows explain why calendar/custom-field appointment KPIs are still Provisional even though the loaded row counts are real.
Google Sheets cross-check
Latest read-only Master Appointment Tracker comparison. This keeps Booked Date today, Appointment Date today, and Completed Appointments separate.
Pipeline stage drilldown
Top loaded GHL pipeline/stage buckets from /api/kpis. Counts are verified warehouse rows; dollar totals stay provisional until sold/invoice logic is signed off.
Setter scorecard preview
Per-user drilldown from existing /api/kpis setter fields. Every metric is provisional until Benny confirms attribution/date rules.
Weekly setter drilldown
People/source map for review
One safe rollup of names/IDs already returned by /api/kpis. This helps spot attribution issues before payroll or scorecards are treated as final.
Inspector / calendar drilldown
ProvisionalUses loaded calendar events. User IDs may appear until GHL user-directory access is resolved.
Calendar inventory
Finance and payroll gates
Needs BennyPayment rows are warehouse-backed; payroll/commission acceptance remains blocked by business rules and source mappings.
Sold Jobs — Commission Dashboard
Daily, weekly, and monthly sales-rep totals. The displayed dollars come from Supabase/GHL invoice rows; the Google Sheet and Apps Script are read-only references for layout, formulas, payout gates, and status language.
Lead source performance
Mixed labels per metricSource lead volume is verified from loaded GHL records. Won %, close speed, and sold-date logic stay provisional until definitions are locked.
Field mapping readiness
Verified inventoryPII-safe custom-field inventory showing what can power KPI rules today.
Job scope preview
ProvisionalUses mapped square-foot fields to show what segmentation is possible. Counts are real rows; final production buckets need Benny signoff.
Recent collector health
Verified run logRead-only collector runs from /api/kpis so Benny can see whether data changed or stalled.
Current blockers from collectors
Needs cleanup/accessExact safe read-only collector blockers, shown without changing GHL workflows/webhooks.
What still needs your confirmation
Data source map
Preview-safePlain-English source labels for the main sections. All are read-only from /api/kpis and existing warehouse/report files.