Marson Pools AI Operating System

Automates service, construction, billing, and communication across all operations
Loading...
Connecting...
How Data Moves core automation flows (live)
Photo Pipeline
Trigger: crew uploads photo to a job's Slack channel
1
Slack Bot receives the image via Slack Events API (real-time, always on)
2
Bot copies the photo to NAS at /Volumes/Construction Server/{job}/Photos from Slack/
3
Bot uploads the photo to QBO as an attachment on the matching customer record
4
Photo now lives in 3 places: Slack (original), NAS (backup), QBO (accounting)
Cash Invoice Handling
Trigger: daily at 6:00 AM (cron)
1
Queries QBO API for invoices to cash-pay customers (^ marker in QBO display name, loaded live)
2
Exports each invoice to Excel + PDF (local archive)
3
Voids the invoice in QBO — cash customers get paper invoices only
4
Pool Brain invoice deletion is done manually by Christian (automation runs --skip-pb)
Contract → Layout → Build
Trigger: salesperson creates a contract
1
Contract Generator (web app) captures pool specs, options, pricing
2
Contract data syncs to Pool Layout Tool which auto-generates the engineering drawing
3
Layout uses Fabric.js + Maker.js — rectangle pool, cross-section, coping, features
4
Both feed back to Dashboard API which tracks the job through construction
Health Monitoring V2
Trigger: every 15 minutes (cron) — 48 checks
1
Calls QBO API with live token to verify it works (not just file age). Checks token expiry math.
2
Logs into all 4 email accounts (3 Gmail + Outlook) via IMAP to verify credentials + mailbox access
3
Checks every LaunchAgent loaded, always-on processes running, logs for errors + staleness
4
Pings every web app, NAS read test, Dashboard API. Posts failures to Slack #management
Systems 0 click to expand
Services & Automations
APIs & Integrations
Web Applications
MCP Servers (Claude AI access layer)
Health Checks 0
System Architecture
Healthy
Warning
Error
Data flow
Control / Agent
Hover nodes for details
INPUTS AUTOMATION HOST SYSTEMS OF REC. MCP BRIDGE AI LAYER WEB SURFACES SLACK WORKSPACE Crews post photos + updates to job channels GOOGLE SHEETS Master job list — source of truth POOL BRAIN Field service — V2 REST API (CRUD) CUSTOMERS Inbound email — 4 accounts THIS MAC · launchd · 24/7 ~17 monitored agents grouped by role · sdl-intake intentionally disabled (excluded) INGEST Slack Bot Slack → NAS + QBO PID --- | CPU --% | MEM --% work-order-email · 30m photo-filing (event-driven) sdl-intake · DISABLED (intake intentionally off) RELIABILITY Health Check pings all · writes status every 15 min watchdog · 5m token-watchdog · 6AM caretaker · 4h r2-backup · 2AM logrotate · 4AM BILLING Cash Invoice QBO export + delete daily 6AM (--skip-pb) ^ in QBO name = cash cust. ~22 loaded live each run PB invoice delete = manual REPORTING nightly-audit · 5PM eod-failure-rollup · 6PM misroute-scan · 5AM → posts gaps to Slack #management CONNECTIVITY cf-tunnel · KeepAlive dispatch-webhook syncthing healthmap-server claude-keepalive → Telegram bridge + this map's deploy QuickBooks Online MARSON POOLS, INC. Token: --- NAS / Synology 3 shares mounted ---% used Dashboard API Apps Script web app ---ms Email · 4 acct 3 Gmail + 1 Outlook probed 4/4 each run Pool Brain Field service SaaS V2 REST API · CRUD Cloudflare R2 Offsite backup nightly 2AM MCP BRIDGE — gives Claude real-time read/write access to business data Email MCP search · read · 4 accts QBO MCP invoices · customers · pay Dashboard MCP jobs · permits · schedule Telegram MCP alerts · remote commands Claude Desktop — Always-On Overseer Kept alive + caffeinated 24/7 Scheduled oversight · triage · lookups Claude Code (Terminal) — Caretaker Interactive: diagnose · fix · ship caretaker.sh loop is mechanical, not AI Contract Generator marson-contracts.pages.dev Pool Layout Tool marson-pool-layouts.pages.dev Construction Dashboard glittering-taffy…netlify.app Health Map (this) marson-system-map.pages.dev Staff Guide verdant-custard…netlify.app Staging Website marson-pools-website.pages.dev Build Tracker Portal marsonpools.com/portal events + photos photos job folder invoices 1 host · ~17 monitored launchd agents · 6 systems of record · 4 MCP servers · 2 Claude surfaces · 7 web surfaces · live: status-driven
Hardening Phases
1
Bug Fixes
4 fixes deployed and verified
DONE
2
Health Check System
Runs every 15min, posts failures to #management
DONE
3
Script Hardening
Retries, alerts, crash safety on bot + sync + cash invoice
DONE
4
Contract Integration
Manual push: Dashboard, QBO, Pool Brain
DONE