Hermes · Ops Infrastructure

Hermes Ops Hub — The Decision

2026-07-12 · one-pager for Drew
Short version: you built a good tracker, but it can't talk to anyone. Here's the fix, what it costs, and why we're not just moving everything into GHL.
A

The Finding

Why it feels untracked

You already built the hub UI. HERMES_ONBOARDING_MAP.html — 7 phases, 32 steps, per-client status — exists and looks good.

Problem: its memory lives in your browser (localStorage). No AI session can read it or write to it, it doesn't sync anywhere, and it only updates when you personally click it.

That's the whole story. The tracker isn't broken — it's invisible to everything that does the work.

B

The Scorecard

5 options, ranked
Option Setup Upkeep / client Staleness risk AI can update it Mobile Verdict
1clients.json + regenerated HTML map (reuse existing design) 1–2 hrs ~0 — rides along with work sessions LOW ✅ native (it's a file) ✅ via Cloudflare Pages URL ⭐ WINNER
2GHL Operations pipeline (client = opportunity) 4–8 hrs low — MCP-driven LOW-MED ✅ via GHL MCP ✅ LeadConnector app Good, but: 7-field card limit, no checklist object (checkbox automation bug), 3 separate tabs, splits truth away from the folder
3Google Sheets + Apps Script view 1–4 hrs low-med MED 🟡 needs new connector setup ✅ Sheets app It's still a grid; you hate plain text
4Obsidian kanban / GitHub Projects 2–4 hrs + learning med MED-HIGH 🟡 🟡 New app/git discipline for a non-dev = it dies
5Hand-edited HTML / today's localStorage map 0 HIGH — manual clicking HIGH The anti-pattern. This is the status quo. Retire it.
C

The Recommended Build

Box 1

clients.json
single source of truth

  • Per client: stage
  • 17 intake items, status each
  • Owed-by-Drew list
  • Owed-by-client list
  • Next action + owner
  • Doc links
  • Live URLs
  • Cohort counter (e.g. 1/10)
Box 2

Generator

One command / Claude does it. Reads the JSON, renders the page.

Box 3

HERMES_MAP.html

Same visuals you already approved — now fed by the JSON, deployed to Cloudflare Pages so it's on your phone.

New CLAUDE.md rule: any session that does fulfillment work updates clients.json before it ends. That's the whole discipline.
D

Phase 2

later, optional

Mirror the coarse stage into a GHL "Hermes Fulfillment" pipeline via the MCP → a glance view in the LeadConnector app, plus stage-change automations (e.g. A2P submitted → auto-task in 7 days).

GHL never becomes the source of truth — the JSON stays boss.

Possible bonus view: a live Cowork artifact — a saved page that pulls GHL data on open — for zero hosting.
E

Why Not Full-GHL

GHL is already paid for, and it's tempting — and it can genuinely do this. Research confirmed pipelines, tasks, dashboards, and stage-triggers all work.

But it can't hold the 17-item checklists cleanly, can't show everything on one screen, and would split project truth away from the folder where every other Hermes doc already lives.

Use GHL as a view, not the brain.