ANTIGRAVITY LABJP
Articles/Integrations
Integrations/2026-05-18Intermediate

Two Weeks of Letting Antigravity's Browser Sub-Agent Handle My Weekly AdMob Mediation Review

A field record of letting Antigravity's Browser Sub-Agent handle the weekly mediation waterfall review inside the AdMob console for two weeks. What I delegated, what I kept manual, the unexpected behaviors, and what the freed-up time actually surfaced.

antigravity429browser-sub-agent3admob17mediation6app-dev48integrations20

It was a Monday morning in May 2026, and I was doing what I usually do at that hour: opening the AdMob console and walking through the mediation waterfalls for my four wallpaper and relaxation apps. One ad network's eCPM had collapsed in the past week. Another smaller network was suddenly outperforming. I'd reorder the waterfall, then repeat the same dance across the remaining three apps. Even when I was focused, it took around forty minutes — the most productive block of my Monday morning, quietly disappearing into clicks and copy-paste.

I've been running these apps as an indie developer since 2014, and the catalog has grown into something close to 50 million cumulative downloads. AdMob mediation revenue is the spine of the whole thing, which is exactly why I can't take human judgment out of it entirely. But the part where I'm just shuffling rows on a web console — that part probably didn't need me anymore.

Two weeks ago, I pointed Antigravity's Browser Sub-Agent at this workflow. I wasn't aiming for full automation. The goal was to move into a model where the AI drafts the work I used to do by hand, and I show up only for the final call. Here's what came out of those two weeks.

Why I started — the manual sweep had become low-value time

I want to be honest first: I never disliked the mediation review itself. I actually enjoyed it. The shifts between ad networks often told me something about the broader market — seasonal demand, macro mood, regional creative trends — and those signals sometimes fed back into app-side decisions, like when to push a featured collection or schedule a campaign.

But once the catalog grew to four apps, each with three to five ad units, and each unit running five to eight mediation sources, just reading the data started consuming thirty to forty minutes. I was spending more time on page transitions than on actual judgment. That ratio started feeling wrong earlier this year.

My grandfathers on both sides were temple carpenters, so I tend to give weight to manual craft. But even they almost certainly separated the rough prep from the careful chisel work. Mixing the two was my own sloppiness in workflow design, not a sign that the prep itself was sacred.

What I delegated, what I kept

The first thing I locked down was where the responsibility line sat. The Browser Sub-Agent can actually click around inside the AdMob console, and giving an AI free hand on revenue-affecting changes was a non-starter. So I split it roughly like this:

  • Delegated to the AI: pulling the past 7-day eCPM, fill rate, and impressions for each mediation group; summarizing the change versus the prior four weeks; emitting a recommended reordering as Markdown; surfacing the delta between recommendation and current state
  • Kept for myself: actually moving the rows; adding new mediation sources; toggling between open bidding and traditional waterfall; touching the eCPM floor
  • Shared: deciding what to leave alone this week (if the AI's recommendation matched my gut, hold; if not, ask the AI to re-explain)

In short, the agent observes and proposes; the human still commits the change. I redrew this line a few times during the first three days, but by week two it had settled.

The flow that actually ran

The workflow that ended up running every Monday at 7 a.m. looks like this:

  1. Antigravity spins up a Browser Sub-Agent session and logs in to the AdMob console. The two-factor prompt still goes to my phone — I have to be physically present for that one moment, but only for that
  2. The agent walks through the mediation groups for all four apps and grabs the past 7-day and past 28-day metrics
  3. It organizes the data inside the Antigravity workspace and diffs it against last week's snapshot
  4. It surfaces only the sources where the change crossed a threshold I set (in my case, eCPM swing of ±15% or fill rate swing of ±5%) and emits reorder proposals as Markdown
  5. I read the output in the IDE and tag each item as "accept," "hold," or "needs my own dig"
  6. I — not the agent — apply the accepted changes by hand inside the AdMob console

First Monday: twelve minutes of actual time at the keyboard from 7 a.m. Second Monday: eight minutes. The agent flagged an average of 2.4 sources per week as above-threshold; only one per week genuinely required deliberation.

The unexpected parts, and what I had to fix

Not everything went smoothly. Three things bit me hard enough to be worth writing down.

First, dynamic rendering inside the AdMob console. On the very first session, the agent grabbed only the top five rows of each waterfall because it never expanded the "show more" affordance. It just read what was already on screen. Adding an explicit instruction to my prompt — "press the 'show more' button at the bottom right of each table until it disappears" — fixed it. Browser agents treat anything off-screen as non-existent; what humans do reflexively (scrolling) has to be spelled out.

Second, session expiry between apps. AdMob logs you out after a quiet stretch. On one early run, the agent hit a login screen after finishing the third app and tried to enter something — anything — into the login form to keep moving. That was terrifying. I restructured the workflow so all four apps' data pulls happen in one continuous five-minute window inside a single session.

Third, the reasoning behind recommendations was vague at first. The agent kept saying things like "eCPM is down, demote one rank." I added a prompt requirement: every recommendation must include the four-week trend and, where available, the same week's number from a year ago. That single change made my final decisions much faster — I could immediately distinguish a one-week blip from a structural shift.

What the freed-up time actually surfaced

Honestly, the thirty minutes I saved isn't itself meaningful. Monday mornings are just a bit quieter. What mattered was that a slice of those thirty minutes started going into looking at the same ad networks from a different angle.

One example: I noticed a mid-tier network had two consecutive weeks of iOS-only eCPM growth. Digging around outside the AdMob console, I found an external article suggesting a particular creative format was landing in the Japanese market. That's not something the AI's recommendation would ever surface. The fact that the AI flagged "reorder this row" became a small trigger for me to go look at something broader.

When you run on both the App Store and Google Play, it's easy to miss platform-specific shifts. Handing the row-shuffling to the Browser Sub-Agent quietly pushed me into the role of "the one who watches structural change," which is, looking back, the most valuable outcome of these two weeks.

What I'm still tuning

This isn't a finished setup, so a few things are mid-adjustment.

One is that open bidding is now covering enough networks that the meaning of the waterfall rank itself is fading. I'm in the middle of rethinking the recommendation prompt to emit both a "waterfall-first proposal" and a "bidding-leaning proposal," starting next month.

The other is that I'd like to fold in version data from Crashlytics — specifically, which ad SDK versions are crashing — as part of the mediation review judgment. That's going to be a separate experiment combining the Browser Sub-Agent with the Crashlytics workflow, so I'll cover it in its own write-up.

50 million downloads is a big number for a one-person operation, and that's exactly why small operational decisions move revenue. Which is why I want to delegate the parts that can be delegated, and stay in the seat of "the one reading what's behind the data." The Browser Sub-Agent is a quiet but effective tool for staying in that seat.

If you're thinking about a similar setup, the first thing to measure is your own time: how much of your current workflow is judgment, and how much is page transitions and copy-paste? If there's a thirty-minute block in the second category, it's probably worth carving out for a Browser Sub-Agent.

Share

Thank You for Reading

Antigravity Lab is ad-free, supported entirely by members like you. We publish practical guides daily with implementation code, benchmarks, and production-ready patterns. If you've found it useful, we'd love to have you on board.

  • Copy-paste ready implementation code
  • New advanced guides published daily
  • $5/mo or $10 for lifetime access
View Membership →

If you found this article helpful, a small tip ($1.50) would mean a lot to us. Your support helps keep this site ad-free and covers server and hosting costs.

Related Articles

Integrations2026-05-19
Running AdMob and AppLovin MAX side by side with an Antigravity sub-agent that compares them daily
For the past two months I have been running my wallpaper apps on both AdMob and AppLovin MAX in parallel, and letting Antigravity sub-agents pull eCPM, fill rate and ARPDAU into a single daily comparison. This is an implementation memo from those 90 days, focused on cross-network normalisation and the thresholds I trust an agent with.
App Dev2026-06-28
Adding Mediation Partners Quietly Starved My iOS Attribution — Reconciling SKAdNetwork IDs Across Four Apps
I added mediation partners but iOS revenue barely moved — the cause was missing SKAdNetwork IDs in Info.plist. Here is how I reconciled SKAdNetworkItems across four apps, using an Antigravity agent as the matcher while keeping the revenue decisions by hand.
Integrations2026-06-28
Where to Start Reading an Unattended Agent's Changes — A Digest for Re-Entry
How do you review the pile of changes an unattended agent left overnight? Not the full diff, not the chat log — a re-entry digest grouped by risk class.
📚RECOMMENDED BOOKS
Build a Large Language Model (From Scratch)
Sebastian Raschka
LLM Dev
Prompt Engineering for LLMs
Berryman & Ziegler
Prompting
AI Engineering
Chip Huyen
AI Eng
* Contains affiliate links
See all →