Ad Campaign Organizer
Every ad two teams run goes through it: built once, proofed inside the real Meta or Google frame it will ship in, and approved in one window. Around 120 variants a month.

The Problem
An ad is never one thing. It is artwork, a headline, body copy, a call to action and a destination, and every one of them is approved in a different place — the image in one window, the copy in another, the platform's own preview somewhere else entirely. Nobody ever sees the whole ad until it is live. Then the copy that was signed off gets retyped by hand into Meta or Google, which is exactly where a typo turns into a paid impression.
What I Built
A web app the whole campaign runs through. An ad is built once and rendered inside the frame it will actually ship in — a Meta feed post, an Instagram placement, a Google unit — with its copy sitting beside it rather than in another tab. Reviewers mark up the artwork itself, pinned to the pixel they mean, and sign-off moves in two tiers. Once an ad is approved its copy is there to be copied, so no one retypes a headline into the ad platform. Every version is kept, so the ad that shipped is always the ad that was approved.
Gallery



How It Works
Outcome
It is in daily use, and it is still being built. Thirty-five to forty ads a month, each in three sizes with its own copy, is around 120 pieces of creative going through one review — and the copy that reaches Meta or Google is now copied rather than retyped. The features that land are the ones the people using it every day ask for.
My role
Solo, and still solo: the product, the front end, the data model, the infrastructure, and the support. It is not a project that shipped and stopped — it takes requests from the two teams that live in it, and they get built.
Tools
Start a project
What do you need built?
Tell me what the thing has to do and who has to use it after I leave. We'll get on a call, and I'll tell you what it takes.
Start a project