The big-picture systems map
Everything we run, on one page. Follow the money: ads → website → lead → job → payment → reconciliation.
flowchart TD subgraph AC[1 · Acquisition] direction TB ADS[Google Ads<br/>3 location accounts under one MCC] --> SITES ORG[Organic / GBP] --> SITES SITES[Marketing websites<br/>9 brand sites on Cloudflare Pages] end
SITES -->|Quote form submit| NOTIFY
subgraph LD[2 · Lead delivery] direction TB NOTIFY["/api/notify Cloudflare Function"] --> EMAIL[Email to shop inbox<br/>via Resend] NOTIFY --> PODIUM[Podium contact + welcome text<br/>first name only] NOTIFY -.-> LEADDB[Lead storage<br/>webhook upsert by lead_id] end
EMAIL --> OPS PODIUM --> OPS
subgraph OD[3 · Operations — BCB Glass Ops dashboard] direction TB OPS[Intake: lead becomes a job] --> SCHED[Schedule + assign tech] SCHED --> WORK[Work complete<br/>payment preference gate] WORK --> PAY[Record payment] PAY --> DRIP[Review drip texts] WORK -.-> WARR[Warranty visit<br/>if issue reported] end
PAY --> EOD
subgraph MO[4 · Money] direction TB EOD[End-of-Day tech payout] --> CHASE[Chase bank + credit card] CHASE -->|Plaid daily pull| LEDGER[Bank ledger<br/>weekly reconciliation] ROAS[ROAS report<br/>ad spend vs booked revenue and profit] end
PAY --> ROAS ADS -.->|Daily metrics pull| ROASThe four layers
Section titled “The four layers”- Acquisition — Google Ads and organic traffic land on one of the 9 marketing sites. Each site’s business data (phone, hours, service areas) lives in one config file.
- Lead delivery — a form submit instantly fires an email to the shop inbox and a Podium welcome text, and stores the lead. No Slack, anywhere. Details: lead flow.
- Operations — the ops dashboard takes the job from intake through scheduling, completion, payment, tech payout, and review requests.
- Money — every dollar is accounted for: Plaid pulls Chase transactions daily, the team reconciles weekly, and ROAS ties ad spend back to booked profit per location.