Skip to content
All work

Built and deployed with AI development tools

A reporting platform for weekly account decisions

Every weekly report was accurate on its own and hard to compare with the six before it. I built the platform that puts them side by side: trends, pacing against goal, creative diagnostics, and one view across the whole portfolio.

My role
Found the problem, designed it, built it, shipped it.
Built with
Claude Code, Cursor, and Codex.
Status
Deployed and running on verified weekly reports.
Shown here
An original illustration using invented data.

Portfolio view

Week 34

01Verified weekly reports

Illustrative portfolio view for week 34. Three placeholder accounts compared on this week’s spend, leads, and cost per lead, and on how many consecutive weeks each has been over its own cost-per-lead goal.
AccountCost / leadAgainst goal
$39.723 wks over
$28.39Under goal
$51.841 wk over

Select an account to open its eight weeks. Goals differ by account.

02Comparable history

Account A, cost per lead

8 weeks

This week
$39.72
8-week average
$34.46
Goal
$35.00

03Signal

Above goal for three weeks and still rising. Spend held steady while leads fell, so the cost is moving on the lead side.

04Decision

Investigate before moving budget.

First check: Creative frequency and the share of spend on the oldest ad. If both look normal, what changed on the landing page.

Illustrative data, original diagram. Three placeholder accounts, not a screenshot of the platform.

A good week and a bad quarter look the same in a weekly report.

Each account produced a report every week, and each one was correct. What none of them could tell you was whether this week was better or worse than the last six, whether an account was on pace against what it was supposed to deliver, or whether the same creative problem was showing up in three accounts at once.

Answering that meant opening several weeks side by side and holding the comparison in your head. A view across the portfolio meant assembling one by hand. It got done, because it mattered, and it was slow every time.

That is a recurring problem with a clear shape, which makes it worth building for.

What it does

Four steps. A person starts it and a decision ends it. The software is the middle.

  1. 01

    A verified weekly report

    Checked by the person who ran the account before it becomes data.

  2. 02

    Comparable metrics

    Consistent reporting conventions, with conversion definitions that match how each account and source actually records them.

  3. 03

    History and pacing

    Weeks side by side, measured against the goal each account is supposed to hit.

  4. 04

    A question worth asking

    Where something moved, the most likely reason, and what to check first.

  • Historical trends

    Each metric across weeks, so a direction is visible instead of a single value.

  • Goal pacing

    Where each account stands against what it is supposed to deliver, and for how long.

  • Creative diagnostics

    Which creative is carrying delivery and which is fatiguing.

  • Portfolio view

    Every account at once, without anyone building a deck.

A successful API call can still return a number you should not use.

While I was testing the reporting, the conversion totals did not sit right with me. Going back through Meta’s Marketing API, I found that the same conversion could be reported under more than one label. Summing those labels, which is the obvious thing to do when you are building a total, inflates the number. The request succeeds and the data comes back. The total is still wrong.

So I worked through the conversion definitions account by account and decided which one was the real one in each case, before treating any of those totals as usable reporting data. That is also why the platform applies consistent reporting conventions rather than a single identical definition everywhere. Accounts genuinely differ in what they record and where, and flattening that would reintroduce the same error in a tidier form.

It is the least visible part of the project and the part I would defend hardest. Reporting that quietly overstates conversions is worse than no reporting, because people will trust it and then spend against it.

AI development tools, with the account knowledge on my side of the keyboard.

I built and deployed the platform with Claude Code, Cursor, and Codex. Those tools wrote most of the code. I decided what the software needed to do, what a comparable metric means in this business, which conversion definition each account should use, and when a result looked wrong. That is the part a marketer brings to the build, and it is the part that made the output trustworthy.

The same tools run through my account work: structured account reviews, faster analysis of what changed and why, and drafts of recommendations. I check the output against the account before it becomes a recommendation to anyone.

Next

Paid acquisition across a live agency portfolio

Explore acquisition work

Hiring for paid acquisition or growth?

Send me the role, the product, or the problem you are working on.