Skip to content
createwithlogic

Performance-marketing agency, DACH · ~€3M revenue

Client operations platform

in production since March 2026 · operator retainer

The flagship. An agency managing high five-to-six-figure monthly ad spend for its clients ran its operations on spreadsheets, a patchwork of tools, and a Make.com contractor billing €10,000 a month. Today it runs on a single custom platform its clients log into, built and operated by me.

~130k
lines of TypeScript in production
1 → 355
monthly leads recovered by the attribution fix
12-24s → 1.6s
core funnel query after the rebuild
0
high/critical findings in an external security scan

The starting point

  • Ad performance lived in Meta and Google dashboards the agency’s clients never saw; reporting was manual screenshots.
  • Leads arrived via webhooks nobody monitored; attribution between ad spend and closed deals was guesswork.
  • The no-code automation layer cost €10k/month, and only the contractor understood it: classic rented infrastructure.
architecture
Inbound
  • Meta / Google / LinkedIn
    nightly ad-account syncs
  • Lead webhooks
    realtime + reconciliation
  • Zoom recordings
    transcripts via Whisper
  • First-party tracking
    custom t.js on landing pages
Core
  • Postgres · 183 tables
    row-level security throughout
  • 25 background jobs
    trigger.dev queues + crons
  • 229 API routes
    multi-tenant, audited
  • Nightly backups
    ~200 MB → client-owned storage
On top
  • 7 AI agents
    analyse · kill/scale · challengers
  • Client dashboards
    ads, CRM, funnels, split-tests
  • AI creative studio
    generates + publishes to Meta
  • Alerting
    Slack briefings + Sentry
Three planes: data flows in from ad platforms and calls, the core keeps it consistent and secure, AI agents and dashboards work on top.

What got built

01

Multi-tenant core

Next.js + Supabase with row-level security throughout: 183 tables, 100+ additive migrations, strict per-client isolation, role model from superadmin down to client logins. The agency’s customers get their own dashboards; the agency gets one control plane.

02

Ads & data plumbing

Nightly syncs from Meta, Google, and LinkedIn ad accounts, lead webhooks with reconciliation, Conversions-API forwarding with per-client tokens, and a first-party tracking script for landing pages. 25 scheduled background jobs (trigger.dev) keep it all current.

03

AI layer

Creative and copy generation that publishes directly to Meta, Zoom-call transcription with AI analysis into action items, and a media-buying autopilot: seven orchestrated agents that classify every active ad, make kill/scale recommendations, and generate challenger creatives, all fenced behind budget circuit-breakers, staged rollout, and a default-off switch. 104/104 tests green at handover.

04

Attribution fix that paid for itself

One client account showed 1 lead against thousands in spend; the funnel looked dead. Per-account custom-conversion mapping recovered the real number: 355 leads at ~€15 cost per lead. Diagnosed and live in production the next day.

Run, not just shipped

This engagement is the operator model in action: nightly database backups to client-owned storage, EU-region error monitoring, a full security audit of every API route (11 access-control gaps found and closed), and incident response, including diagnosing and restoring a live database-cluster outage. Started as a small paid test project; grew into a five-figure monthly retainer on the strength of the first phase.

Stack

  • Next.js
  • Supabase (RLS, RPCs, materialized views)
  • trigger.dev
  • Meta Marketing API + CAPI
  • Google Ads API
  • LinkedIn API
  • Anthropic + OpenAI
  • Whisper
  • Sentry
  • Vercel

Got a system like this waiting to exist?

Start with the free teardown: I’ll map your three biggest automation leaks and what they cost you monthly. In your inbox within 72 hours.

Get your free systems teardown