Research: Roadway-style performance marketing on Brainforge primitives

Date: 2026-04-06
Type: Internal research (no implementation commitment)
Audience: Sales, Solutions, Engineering (scoping)
Related ask: Demo / 2–3 month custom-build positioning vs tools like Roadway (measure, monitor, manage paid marketing with AI).


1. Market and buyer narrative (proxy research)

Note: This section uses web search and public positioning statements as a proxy for multi-source “last 30 days” research. For cited social/reddit-style intel, run the in-repo last30days skill (brainforge-platform/.cursor/skills/last30days/SKILL.md) with prompts such as: “AI tools for Meta Google ads agencies,” “performance marketing automation complaints,” “agency reporting stack fatigue.”

How buyers describe the category

  • Measure: Cross-channel reporting, attribution, incrementality, “single view” of spend and outcomes.
  • Monitor: Alerts on CPA/ROAS drift, budget pacing, creative fatigue, anomaly detection.
  • Manage: Recommendations and/or autonomous actions (with varying degrees of human approval)—often framed as “AI coworkers” or “agents.”

Competitive / adjacent landscape (illustrative, not exhaustive)

SegmentExamples (public positioning)Implication for Brainforge
Full-stack AI adsRoadway (measure/monitor/manage + AI coworkers), Onmo (multi-channel orchestration), Alpomi (agency multi-account monitoring), XPathLabs / groas-style “agent” narrativesBuyers expect unified UI + AI; differentiation often claims ROAS/uplift—credibility requires data depth, not chat alone.
Attribution / MMMRockerbox, Measured, mix-modeling vendorsStrong on measure; may partner rather than replace a workspace copilot.
Lower-cost AI ad toolsSynter, GetHookd, Scalable (varied breadth)Price pressure below enterprise; enterprise agencies still pay for trust, SSO, audit, multi-tenant.

Objections to anticipate

  1. “We already have Supermetrics / Fivetran + Looker.” → Position Brainforge as decision layer + workflow + AI on top of their warehouse, not a duplicate ELT (see Option B architecture).
  2. “We won’t give you write access to ad accounts.”Read-only phase + human-approved mutations; clear audit trail.
  3. “Black-box AI changed our bids.”Human-in-the-loop, explainable deltas (rule + LLM summary), rollback story.
  4. “Meta/Google app review takes forever.” → Scope warehouse-first MVP to de-risk; OAuth apps as phase gate.

Sources (web, retrieved 2026-04-06)


2. Internal primitive map (The Forge / platform)

These are existing composition points in the monorepo. A Roadway-like experience would compose them; none of this implies shipped product.

2.1 Workspace UI and layout

CapabilityLocationNotes
Nav / demo groupingapps/platform/src/components/Sidebar.tsx“Demos,” clients, agents, tools—pattern for surfacing a growth module.
KPI row + filters + listapps/platform/src/components/DashboardLayout.tsx, MetricCardSame layout used for meetings; swap data source for campaign entities.
Client hub shellapps/platform/src/components/ClientDashboardTemplate.tsxClient-scoped dashboard + chat rail.
Department shellapps/platform/src/components/DepartmentDashboardTemplate.tsxInternal org variant of same pattern.
Route transition / Copilot wrapperapps/platform/src/components/RouteTransition.tsxApp-wide CopilotKit usage pattern.

2.2 AI chat and orchestration

CapabilityLocationNotes
n8n + CopilotKit runtimeapps/platform/src/app/api/copilotkit-n8n/route.ts, apps/platform/src/lib/n8n-adapter.tsN8nWebhookAgent, streaming adapter for workflow-backed chat.
Standalone Copilot demosapps/platform/src/app/(main)/demo/copilotkit/page.tsx, apps/platform/src/app/api/ABCcopilotkit/route.tsFull-page chat tied to alternate runtime.
Main dashboard AIapps/platform/src/app/(main)/dashboard/page.tsxProduction-scale CopilotKit + n8n on a core page.
Mastra agentsapps/platform/src/mastra/ (index.ts, azure.ts, tools under mastra/tools/)Specialized agents, Azure OpenAI config.
Agent detail UIapps/platform/src/app/(main)/agent/[agentId]/page.tsxCopilotKit + agent-specific UX.
Reusable chat componentsapps/platform/src/components/N8nCopilotKitChat.tsx, CopilotKitChat.tsx, ModularChatAgent.tsxQuick prompts, webhooks, layout.
CopilotKit (direct)apps/platform/src/app/api/copilotkit/route.tsAlternative runtime path.

2.3 Search, deals, analytics

CapabilityLocationNotes
Global search (Turbopuffer)apps/platform/src/app/api/brainforge/search/global/route.ts, apps/platform/src/lib/turboPuffer/Today: meetings, Slack, deals—ads entities would be net-new index if desired.
Product analyticsapps/platform/src/lib/analytics/posthogClient.tsUsage / funnel instrumentation for any new module.
HubSpot deals indexingapps/platform/src/lib/turboPuffer/indexingUtils.ts (e.g. indexHubSpotDeals)CRM ↔ campaign linkage is a product choice for agency accounts.

2.4 Data / ETL (organization-level)

CapabilityLocationNotes
Dagster monorepoapps/dagster-pipelines/Legacy ETL; schedules default off; migration toward platform-native jobs per AGENTS.md. Candidate for scheduled pulls or warehouse transforms if Brainforge operates the pipeline.
Standardsknowledge/standards/03-knowledge/engineering/setup/dagster-*.mdOperational setup for Dagster work.

2.5 Internal services (conceptual, not exhaustive)

  • n8n: Workflow-backed responses, HTTP to internal APIs or third parties (read-only first recommended).
  • Supabase: Tenant data, RLS, audit tables—fits alert state, approval queue, metric snapshots if stored in Postgres.
  • Slack: Familiar delivery channel for monitor alerts (patterns exist across platform rules and skills).
  • Azure OpenAI: Primary LLM path via Mastra/CopilotKit configuration (mastra/azure.ts).

3. OSS and external API map

Evaluate per client—no single stack is mandatory.

LayerOptionsWhen to prefer
Ad sourcesMeta Marketing API, Google Ads API, LinkedIn Marketing APIDirect measure from source; requires OAuth, permissions, rate limits, sometimes app review.
ELTAirbyte, Meltano, dlt, custom PythonClient lacks warehouse feeds; Brainforge or partner operates replication.
Transformdbt, SQL assets in DagsterNeed governed KPI definitions (ROAS, CPA, MER, blended vs. platform-reported).
Warehouse / OLAPSnowflake, BigQuery, ClickHouse, DatabricksWarehouse-first Option B; agencies often already have one.
Semantic / metrics APICube.dev, Lightdash, Looker, or thin metrics JSON from your APINL-to-SQL is safer over curated metrics, not raw fact tables.
Charts in React@mui/x-charts, ECharts, Nivo, TremorForge does not pin a chart library today; pick one if trend lines are required.
AlertingGrafana Alerting, custom scheduled jobs (Dagster/cron) + Slack webhookMonitor layer; start with simple WoW/threshold rules before ML anomalies.
Job orchestrationDagster (in repo), Temporal, CelerySyncs, backfills, alert evaluation.
LLM observabilityLangfuse (already in platform dependencies)Trace prompts/tool calls for manage features.
Approval / workflowBuild in Supabase + UI, or extend n8nHuman-in-the-loop before Marketing API writes.

4. Composable architecture options (tradeoffs)

Option A — Workspace-first, minimal backend

  • Compose: DashboardLayout + @mui/x-data-grid + CopilotKit / N8nCopilotKitChat.
  • Data: Fixtures, CSV seed, or small Supabase tables.
  • Pros: Fastest story and UX prototype; low infra.
  • Cons: Weakest credible measure; not a substitute for live pipelines in technical diligence.

Option B — Warehouse-first (fits many agencies)

  • Compose: Client (or Brainforge Dagster) loads Snowflake/BigQuery facts → API or Supabase views → Forge UI + copilot context JSON.
  • Pros: Aligns with “we already ETL”; Brainforge focuses on semantic layer + UX + AI; faster time to real numbers if tables exist.
  • Cons: Depends on client data quality and agreed metric definitions; transformation ownership must be explicit in SOW.

Option C — Full pipeline ownership

  • Compose: OAuth to ad platforms + ELT + dbt + alerting + approval-gated writes + Forge UI.
  • Pros: Closest parity to Roadway-class “all-in-one”; clearest 2–3 month consulting shape.
  • Cons: Highest security, compliance, and ops burden; Meta/Google approval and rate-limit risk.

Diagram (logical)

flowchart TB
  subgraph optB [Warehouse_first]
    WH[Warehouse facts]
    DAG[Dagster or client ELT]
    API[Forge API]
    UI[DashboardLayout Grid CopilotKit]
    WH --> DAG --> API --> UI
  end
  subgraph optC [Full_stack]
    Ads[Meta Google APIs]
    ELT[Airbyte or custom]
    WH2[Warehouse]
    AI[LLM rules approvals]
    Ads --> ELT --> WH2 --> API2[Forge API]
    API2 --> UI2[Forge UI]
    AI --> API2
  end

5. Phased research model (SOW-shaped)

Use this for scoping conversations, not as a delivery promise.

PhaseResearch / scoping focusTypical building blocksRisks / dependencies
0Tenancy, OAuth apps, legal/TOS, read vs writeDeveloper apps, sandbox ad accounts, data processing agreementsApp review latency; agency’s client granting access
1Measure — grain (e.g. ad set × day), KPI dictionary, freshness SLAsdbt docs, API contract, sample dashboardsDefinition drift vs finance; platform attribution mismatch
2Monitor — alert taxonomy, noise vs signal, channelsRules engine placement; Slack/email; optional GrafanaAlert fatigue; false positives erode trust
3Manage — which mutations are allowed, audit, rollbackApproval queue; Marketing API write wrappers; Langfuse tracesIrreversible spend changes; need kill switch
4Agency RBAC, multi-brand, client-facing viewsSupabase RLS; SSO; product permissions modelMulti-tenant data isolation audits

Legal / security topics to flag early: lead/form PII, creative asset storage, automated bidding/spend changes, sub-processor list for LLM providers.


6. Deliverables checklist (this document)

#DeliverableSection
1Internal primitive map with file paths§2
2OSS/vendor shortlist by layer§3
32–3 architecture options + tradeoffs§4
4Phase dependency list for SOW scoping§5
5Market/buyer bullets + objection stubs§1

7. Optional next steps (not part of this research)

  • Run last30days for cited social/web synthesis (see note in §1).
  • Pick a default architecture option per ICP (e.g. agencies with Snowflake → Option B).
  • Produce a one-page Sales talk track and Roadway parity checklist as separate collateral if requested.

  • Canonical in-repo plan shell: roadway-style-growth-marketing-research-plan.md
  • Cursor skill for this workflow: .cursor/skills/composable-product-research-on-primitives/SKILL.md
  • Repo root AGENTS: AGENTS.md, apps/platform/AGENTS.md, apps/dagster-pipelines/AGENTS.md.