Skip to content
05
Web App · 2026

The ads desk

A Meta ads dashboard that starts with a decision, not a table

A report should open on the decision. The table is what you check after.

Client
Ventryx product demo, modelled on a Sydney skin clinicSole designer and developer · 2026, demo build in 1 day
Problem
Ads Manager shows 40 columns and no decision.
Built
A 6-view app that opens on the 1 ad needing a decision, with the suggested move and the budget it frees.
Result
1ad surfaced for a decision out of 16, with the suggested move and the budget it frees
05aThe problem

Ads Manager shows everything and tells you nothing. A clinic owner opens it, sees 16 ads and 40 columns, and closes it. The agency then spends Monday morning rebuilding the same 3 questions by hand: what is burning money, what is working, and what should we do about it.

40 columns, no decision

05bThe build

A Next.js app that pulls the account into 1 deterministic model and answers those 3 questions in order. Today ranks ads by severity against plain thresholds and pairs each flag with a suggested move and the budget it frees. Ads is the full table, but grouped by campaign with spend share, CPL tinted against the account average, and video hook and hold rates. Pulse is the weekly read: spend vs leads, CPL vs last week, creative health, and when leads actually land by day and hour.

severity first, table second

05cThe proof

1

ad surfaced for a decision out of 16, with the suggested move and the budget it frees

6views: Today, Ads, Campaigns, Pulse, Reports, Settings
0API keys needed to run the demo; every number is generated in the browser

HandoverData is 1 file with a seeded generator, so screenshots never drift. Swapping in a real account is a Meta Marketing API pull into the same shape, with leads sourced from the CRM so CPL means booked consults, not form fills.

the whole app runs on invented data

Evidence · fig. 01–04

fig. 01Today in front, Pulse behind: the app opens on the decision, the weekly read sits one click away
fig. 02Today: the 1 ad that needs a decision, why, and what pausing it frees up
fig. 03Ads: the full table, grouped by campaign, with spend share and CPL tinted against the account average
fig. 04Pulse: the weekly read, including when leads actually land by day and hour

Discuss your system

Book a 30-minute discovery call