← case notes
2026-05-18/5 min/12 weeks/Pulseboard

Pulseboard: campaigns without tab hell

A performance agency cut reporting grind and started catching CPA spikes the same day — across Meta, Google, and TikTok.

Duration

12 weeks

Team

2 engineers · 1 analyst part-time

Stack

TypeScript · Next.js · Postgres · Queues · Ads APIs

Media buyers were living in twelve browser tabs. Budgets lived in one place, creatives in another, client decks in a third. By the time someone noticed a CPA spike, the week was already burned.

Pulseboard pulls Meta, Google, and TikTok into one campaign board: spend, ROAS, pacing, and creative fatigue signals. Nightly API sync keeps numbers honest without CSV rituals.

Alert rules fire when CPA jumps, budgets overrun, or ads go cold. Client pages and scheduled Slack / PDF digests replaced the Sunday report scramble.

Twelve weeks from kickoff to full agency rollout. Reporting prep dropped by roughly sixty percent. Anomalies show up the same day.

Architecture

Diagram · Data → decision loop

Meta Ads

API

Google Ads

API

TikTok Ads

API

↓

Nightly sync

queues · normalize

Pulseboard

ROAS · fatigue

Alerts / reports

Slack · PDF

  • Meta Ads→Nightly sync
  • Google Ads→Nightly sync
  • TikTok Ads→Nightly sync
  • Nightly sync→Pulseboard
  • Pulseboard→Alerts / reports

Timeline · what shipped when

  1. W1–W2

    Metrics & access

    • Defined KPIs: spend, CPA, ROAS, pacing, fatigue
    • OAuth apps for Meta / Google / TikTok
    • Client account mapping
  2. W3–W6

    Ingest & model

    • Nightly sync workers + retry queues
    • Normalized campaign / ad-set / creative schema
    • Historical backfill (90 days)
  3. W7–W9

    Board & alerts

    • Unified dashboard for buyers
    • CPA / pacing / fatigue alert rules
    • Slack notifications to account rooms
  4. W10–W12

    Client reports

    • Branded client pages
    • Scheduled PDF + Slack digests
    • Agency-wide rollout + playbook

Delivered

  • Multi-network campaign dashboard
  • Nightly Ads API sync with monitoring
  • Alert engine for CPA / pacing / fatigue
  • Client report pages + scheduled digests

Impact

  • ~60% less time spent assembling weekly reports
  • CPA spikes caught same day instead of week-end
  • Buyers operate from one board, not twelve tabs

Project

Pulseboard

Reporting prep −60% · anomalies caught same day, not week-end

Back to work →