Skip to content
John SchibelliSoftware Engineer

Limited bandwidth made
coordination fragile.
Operational state stayed
hard to surface.

Automation had to reduce coordination burden without hiding how the work moved.

Outreach, intake, and project-management work still had to move under limited operational bandwidth. The Next.js and React application surface had to make operating state visible instead of leaving it in handoffs.

Operating state lives in the portal.
n8n helps orchestrate the work.

n8n participates in the automation and orchestration layer. The Next.js portal remains the application-owned source of record for clients, projects, and delivery state so coordination does not depend on who is watching.

Captured from the IntraWeb OS staff console using demonstration data.

What the staff console covers.

Clients, projects, change orders, billing, and integration health, read from Supabase-backed tables.

N8N / NEXT.JS / HUBSPOT / CLERK / SUPABASE

The decisions followed what
the evidence could defend.

  1. Surface the
    operating state

    A staff console makes clients, projects, change orders, billing, and integration health visible in one place.

  2. Orchestrate;
    don't own the record

    n8n participates in orchestration. Application-owned state in the Next.js portal remains the source of record for operational coordination.

  3. Keep provisioning
    idempotent

    HubSpot-deal lookup and an early return prevent duplicate project creation when the same deal arrives again.

  4. Validate
    integration health

    A data-health view lists missing HubSpot deals, invoice references, and Clerk mappings so broken links stay explicit.

What the system
can prove.

Idempotent HubSpot-deal provisioning, staff-console visibility, and explicit data-health checks.

IDEMPOTENT PROVISIONING

The same HubSpot deal will not
create a second project.

If HubSpot fires the same event twice, the system checks for an existing project tied to that deal before creating anything new.

findProjectByHubSpotDealId()
Early return when a project already exists (lines 337-344)
provision-client-idempotency.test.ts

The lookup behind that check is unit tested.

DATA HEALTH

The portal checks its own
integration references.

A data health view lists projects with no HubSpot deal, invoices with no integration reference, and clients with no Clerk mapping.

Captured from the staff console. It reported no findings at that time.

RESULTS

Visibility, coordination,
and validation in the open.

The result was not a finished product. It was an operating surface that made coordination and data health inspectable.

VISIBILITY
The staff console surfaces clients, projects, change orders, billing, and integration health from application-owned tables.
COORDINATION
Automation in the orchestration layer works with portal-owned state, so outreach, intake, and project work stay connected when bandwidth is limited.
DATA HEALTH
Idempotent HubSpot-deal lookup and data-health checks make duplicate provisioning and missing integration references inspectable.
A system that surfaces its own state is easier to operate than one that depends on who is available to explain it.

NEXT CASE STUDY

Documentation,
made structural.

VIEW PORTFOLIO OS