Skip to main content
Back to work
01MULTI-TENANT AI PLATFORMLive

Marketing Ops Platform

A multi-tenant platform for running marketing operations on autopilot. Every channel on one screen, a scheduled agent watching each one, and a human approving anything that goes out.

The hard part

Multi-tenant isolation with per-tenant credentials, and an approval queue that has to stay correct while an agent runs at 3am and nobody is awake to catch it.

  • Next.js
  • Supabase (row-level tenancy)
  • Claude API
  • Model Context Protocol
  • Scheduled functions
  • WhatsApp Business API
denver-ai-tech-dashboard.vercel.appMarketing Ops Platform dashboard showing the daily agent digest, connected channels, and the approval queue
The daily command center. Agent output on the left, connected channels and the approval queue on the right.

01 / What it does

The dashboard an SMB would build if it had an ops engineer.

A business spending five to twenty-five thousand a month on ads usually has the data spread across six or seven tools and nobody senior watching any of them daily. Spend drifts. Reviews sit unanswered. The monthly report arrives three weeks after it could have changed anything.

The platform closes that loop. Connectors pull from the tools the business already pays for, agents run on a schedule against that data, and the output arrives on WhatsApp each morning. Anything customer-facing is drafted and queued rather than published, so the owner keeps final say without having to do the work.

I do not sell this as software. It is the system I would run marketing operations on, and the reference build for the kind of work described on my capabilities page. I run it on your account; the platform is what makes one person able to cover the ground an agency needs a team for.

02 / Features

Five decisions that make an autonomous system safe to run.

01

Connectors into the tools you already pay for

Google Business Profile, Meta Ads, Stripe, Shopify, HubSpot, Slack, QuickBooks and more, wired in through Model Context Protocol servers rather than one-off scripts. Each connector exposes a small, typed set of actions, so an agent can read spend or post a reply without being handed the keys to the whole account.

02

Scheduled agents, not a chat box

Agents run on a schedule or react to an event, then report. PulseCheck writes the morning digest. SpendGuard flags budget anomalies before they compound into a wasted week. LocalIQ assembles the local-search report. The operator reads output; they do not have to remember to go ask for it.

03

Approval workflows before anything goes out

Anything customer-facing, a review reply, a scheduled post, an outreach message, is drafted by an agent and queued for approval. Nothing publishes on its own. This is the design decision that makes an autonomous system safe to point at a real business.

04

WhatsApp-first delivery

SMB owners do not log into dashboards daily, so the platform meets them where they already are. The morning digest and spend alerts land on WhatsApp, with email and Slack as alternates. The dashboard is the audit trail; WhatsApp is the daily surface.

05

Multi-tenant from the first commit

Every client is an isolated tenant with its own connector credentials, agent configuration, and data boundary enforced at the database row level. Onboarding is a guided wizard rather than a services engagement, which is what keeps the per-client setup cost low enough to be worth doing.

03 / Architecture

Typed connectors in, approved actions out.

  1. Dashboard

    Next.js · per-tenant

  2. Connectors

    MCP servers

  3. Agent layer

    Scheduled + reactive

  4. Claude

    Reasoning + drafting

  5. Approvals

    Human in the loop

  6. Delivery

    WhatsApp · email · Slack

Connectors normalise data from each business system. Agents read that data on a schedule, draft actions through Claude, and route anything customer-facing to an approval queue before delivery.
Tenancy
Supabase with row-level security as the tenant boundary. Connector credentials are scoped per tenant and never shared across accounts. A new client is provisioned through an onboarding wizard rather than a manual setup checklist.
Connector layer
Each business system is wrapped as a Model Context Protocol server exposing a small typed action set. This keeps agent prompts free of integration detail and means a new platform can be added without touching agent logic.
Agent layer
Agents are either scheduled (morning digest, weekly report) or reactive (spend anomaly, new review). Each has a defined input contract, a Claude call for reasoning and drafting, and a typed output that either renders to the dashboard or enters the approval queue.
Human in the loop
Customer-facing output never auto-publishes. Drafts queue for approval and deliver over WhatsApp, email, or Slack once cleared. The dashboard retains the full audit trail of what was proposed, what was approved, and what shipped.

04 / Why this matters

Built to be operated daily, not demoed once.

Most AI consultancies show you a slide deck. This is a system built to be operated daily, which means the design decisions in it were made under the constraint of having to hold up every morning, not just demo well once.

The transferable part is the pattern: typed connectors into existing systems, agents with narrow contracts rather than one general assistant, and an approval gate on anything with external consequences. That shape works for marketing ops, and it works just as well for a support queue, a billing reconciliation, or a compliance review.

If you want the platform pointed at your accounts, the walkthrough is the next step.

Next

See the platform running on a real account.

Thirty minutes, screen shared, your channels. You will see exactly what the morning digest would say about your business.