Case Study · Internal Build

The Operations Command Center

We run a consulting business on the same kind of system we build for clients — one live operational picture stitched together from our CRM, our accounting system, and an AI agent that can read all of it. Here's exactly how it works.

Domain
Consulting Ops & Finance
Surface
Dashboard + AI chat
Core stack
Supabase · n8n · Claude
Integrations
HubSpot · QuickBooks · Outlook
01 · The Problem

The numbers that run the business lived in four places

Which deals closed, who's staffed, what's invoiced, what's paid, how long the cash lasts — the answers were scattered across three systems. And the most important one, "when do we run out of cash?", needed all of them current at the same time.

In the CRM

Pipeline & deals

Every opportunity, company, and close date — the top of the funnel that drives everything downstream.

In accounting

Invoices, payments & cash

What's been billed, what's been paid, and the live bank balance — the numbers the business actually runs on.

In spreadsheets

Resourcing & hiring

Who's staffed on what, and the plan for who to hire next — kept by hand, and stale the moment it was saved.

02 · The Solution

One unified surface, kept live by events — not by people

A single dashboard on a shared database, fed by automations that sync every source, with an AI agent that reads the whole picture. A deal closes or a payment lands, and the screen updates itself within seconds.

The screen

One live dashboard

Cash, runway, utilization, pipeline, AR, and the hiring plan on a single screen — with a This-Month / Rolling-12 toggle and live alerts.

The plumbing

It syncs itself

Event-driven automations keep clients, projects, invoices, payments, and the bank balance current — no exports, no nightly batch.

The brain

An AI that knows it all

A Claude-powered agent reads the same live data, so anyone can ask a question in plain language and get a grounded answer.

03 · Ask It Anything

An agent that reasons over your real numbers

Because it reads the same live data the dashboard runs on, you can ask the open-ended questions a report could never answer:

Given where the business is, what should I focus on these next two weeks?

If we make our two planned hires, when do we dip below our cash reserve?

How's everyone's utilization, and where are we over or under-staffed?

Which projects are missing invoices in QuickBooks, and who's the lead?

Looking at our late-stage pipeline, who will we need to hire soon?

Which clients are overdue, and what do they owe and have in pipeline?

It's read-only by design — it can analyze anything, but it can't change data, create invoices, or move money. Every answer is computed from the same source as the screen, so the two never disagree.

04 · Architecture

How it's wired together

One source of truth in Supabase, the integration and AI workflows in n8n, and Claude doing the reasoning — with Realtime pushing every change straight to the screen.

SOURCE SYSTEMS HubSpotdeals · companies QuickBooksinvoices · bank Signed PDFscontracts AUTOMATION · n8n Workflows Load Closed Deals Load Invoices Get Bank Balance Extract Contract · AI Create QBO Invoices Chat Orchestrator · AI MCP Server · 6 tools DATA · SUPABASE Supabase single source of truth clients · projects invoices · payments resources · utilization hiring · cash flow · config Auth · Microsoft SSO Storage · contract blobs Realtime · live to screen SURFACE Dashboardlive · always current Ops Agentask it anything Claudereasoning · extraction
Events flow left to right; Claude powers both the workflows and the agent, and one source of truth feeds both the screen and the chat.
05 · The Automations

Seven workflows do the work nobody wants to do by hand

Each is a defined path that runs the same way every time — the precision work that should never depend on someone remembering to do it.

01

Load Closed Deals HubSpot

When a deal is marked Closed Won, it pulls the deal and its company, then creates the client, project, and demand row — and matches or creates the matching QuickBooks customer. Deals missing a company trigger an alert email so nothing syncs half-formed.

02

Load Invoices QuickBooks

Listens for invoice and payment events from QuickBooks, syncs them into the database, derives each invoice's status (sent, partial, paid, overdue, voided), and maintains the payment-to-invoice links — including the tricky cases where a payment is unlinked or voided.

03

Get Bank Balance QuickBooks

Pulls the live checking-account balance on demand and timestamps it. This single number anchors the entire cash-runway forecast.

04

Extract Contract Claude

Upload a signed contract PDF and Claude reads it, extracting the full invoice schedule — milestones, amounts, payment terms — with a confidence rating and notes. A human reviews it, and a feedback loop lets you refine the extraction while staying faithful to the contract as the source of truth.

05

Create QBO Invoices QuickBooks

Turns the approved schedule into real invoice drafts in QuickBooks, with the right terms and line items. They land as drafts — ready for a human to review and send — and flow back through Load Invoices automatically once issued.

06

MCP Server Agent tools

Exposes six read-only query tools to the agent — projects, invoices, cash flow, hiring plan, resource utilization, and the contract-extraction audit trail. The cash-flow tool reproduces the dashboard's math exactly, so the chat and the screen never disagree.

07

Chat Orchestrator Claude

The agent's runtime: it assembles context, calls Claude with the MCP tools attached, streams a "thinking" indicator to the UI, and persists the answer, its tool calls, a session title, and a rolling summary — all without blocking the user's reply.

06 · What Makes It Work

The principles underneath

Six choices that keep the system fast, accurate, and trustworthy.

Event-driven, never stale

Webhooks keep the data current and Realtime keeps the screen current — no refresh step, no nightly reconciliation to wait on.

One source of truth

The cash-runway logic lives in one place and is reused by both the dashboard and the agent's tools. Two surfaces, identical math.

AI inside a defined path

Claude reads contracts and answers questions, but always within deterministic workflows. The judgment is the model's; the guardrails are the system's.

Humans where money moves

Extracted invoice schedules are reviewed before anything is created, and invoices are generated as drafts for a person to send — never auto-issued.

The right model for the job

A capable model reasons through ops questions; a fast, inexpensive one handles high-volume extraction and summarization — quality high, cost low.

A closed feedback loop

An in-app feedback button feeds a queue that turns into shipped release notes, shown back in the same dashboard — so it visibly improves where it's used.

07 · The Stack

Built on tools teams already trust

Nothing exotic — connected well, and kept in their lanes.

Supabase · Postgres + Realtime
Supabase · Auth + Storage
n8n · workflow automation
Claude · agent + MCP tools
Claude · contract extraction
HubSpot · CRM / pipeline
QuickBooks · accounting
Outlook · sync notifications
Custom · web app

Want one of these for your operations?

This is the kind of system we design and build — connected data, automated glue work, and an AI agent that actually understands your numbers.