Dozens of producers now check image rights before the ads get made.
- Strategy
- Research
- Interaction design
- Working build
- Service design
- Guardrails
Problem
Producers pick campaign images from a wall of thumbnails. The licence dates sit one click inside each one, so nobody checks, and expired rights get caught after the money is spent.
Solution
A step between picking images and building the ads. It reads the whole batch against the campaign’s dates and channels, and only stops the few that are actually a problem.
- 15+Campaigns checked so far
- 30+Producers using it, juniors included
- A fewProblems found before production
Everyone trusts that the client cleared it. Usually they did.
An international global sports brand reuses photos across markets and moments. Each one has a licence with an end date and a list of channels, and it lives one click inside the image. A folder can hold anything from five images to a thousand.
So nobody clicks. The team trusts the client, and the client is usually right. That’s the trap: a process that almost always works never gets fixed, so the one expired photo gets caught late.
Today it gets caught in one of three ways, and all three happen after the money’s spent.
- Mid-productionSomeone happens to remember the dates. That only works if they’re still on the account.
- At publishingThe media team spots it after every version, for every market, has already been made.
- After publicationIt goes live and has to be taken down. That’s rare, which is why everyone keeps trusting the process.
Check early, while a fix is still cheap.
Clario only points things out. The producer makes the call.
Clario checks each image against when the campaign ends, not today’s date. A green tick today means nothing if the licence runs out a week before the ad comes down.
The producer runs it, because they’re the one who can fix a problem. The designer only sees one line on the brief: imagery verified.
- ClearedCovered for this campaign, with the days left shown.
- ReviewSomething’s missing from the record, so a person needs to look.
- At riskNot covered for how it’s going to be used. Fix it or swap it.
The real one sits on the producers’ computers, so I can’t show it here. This is the public prototype, running live on made-up data. Ask for more time on an image and the rights holder answers a moment later. Then approve whatever clears.
“This is the step we were missing.”
I talked to six producers, some on calls and some sitting next to them. Four said they’d use it. The other two wanted to see it connected to the real repository first, and once it was, they were very happy with it.
I still can’t say how much time it saves, but they were clear about what they want next.
- What they likedSeeing every image at once, getting through checks faster, the days left on each licence, and spotting images reused from older campaigns.
- What we changedEarly on, a producer told me the AI information was missing. Now Clario shows whether each image was made with AI, straight from the repository.
- What they still wantTo swap an image without leaving Clario, help with records that have gaps, and an easier way to share the results.
I couldn’t have got it onto anyone’s computer by myself.
Clario started as my own project. I designed the interface, built the prototype and wrote the backend with Claude, then sent it to IT. After that, I needed a lot of help.
- The repository teamThe repository had never allowed API access. They agreed to a limited version for us, and gave a group of senior producers access.
- ITThey checked it was okay for work computers, then installed it on everyone’s machine themselves, because the company is remote.
- Senior producersMost of them are my colleagues, so that’s where I started. I talked to them, and they talked to their juniors. That’s how it spread.
So far it’s been through more than 15 campaigns in under two months, including paid and performance media. A few of those were reusing images from older campaigns, and Clario found problems before production started. That’s exactly what I built it for.
What we decided, and what we haven’t yet.
Decided
- Clario only reads
- It can’t change anything in the repository.
- It only sees what it needs
- The campaign, the image’s name and description, its dates and channels, whether AI was used, and a 5 KB thumbnail. Nothing else.
- People make the calls
- Clario points things out. A producer decides what happens.
- IT checks it first
- Nothing went on a work computer until IT had looked at it.
- No AI
- I’d designed AI to match renamed files. We dropped it, because the rules were enough.
Not decided yet
- Swapping images
- You still have to leave Clario to replace one.
- More teams
- Nothing’s agreed beyond this group yet.
- Where the decision log lives
- We haven’t settled where the record of who approved what should stay for good.
Most of the job was deciding what it should never do.
The worst thing Clario can do is show a green tick it shouldn’t. Once something looks cleared, people stop looking. So every rule here leaves the real call with a person.
- Picking the replacement image
- Being allowed to use an image doesn’t make it the right one. Clario can’t see the idea, the people or the composition.
- Treating a gap as safe
- If a record is missing, the image stays in Review, marked “Cannot confirm”. A blank is never a pass.
- Showing old answers when the source is down
- A stale green tick is exactly the false confidence this exists to stop.
- Approving what isn’t cleared
- Only a cleared image gets the approve button, and a person has to press it. Their name and the date stay with it.
- Blocking the client
- They own the business decision. They can go ahead knowingly, and Clario writes it down.
Before real data, I tested the rules on 504 made-up records. They broke in three places.
- Sale photosA sale ad reused a photo whose licence ended 18 days before the sale did. Now an adaptation can’t have more rights than the photo it came from.
- The wrong channelA shoe cleared for the website and app wasn’t cleared for social, though every date looked fine. Channels became their own check.
- Renamed filesA renamed file lost its only link back. Clario now says it can’t find it, instead of guessing.
It’s already found real problems. I don’t know yet if it saves rework.
- 15+Campaigns checked so far
- 30+Producers using it, juniors included
- A fewProblems found before production
- 6Producers I talked to, on calls and in person
- 5 KBThe thumbnail Clario pulls for each image
- 504Test records I built before it went near real data
It’s early days: under two months, at one brand. The client stays unnamed, so I’m keeping the numbers round here. I don’t have a rework number yet, so I can’t tell you what it saves. Clario runs on rules, so it can only judge what’s in the record. The demo on this page is a separate build with made-up data. Before we had the API, I rebuilt the repository myself as 504 anonymised records to test the rules on.
What I’d do differently
Design the swap as well as the check.
Replacing a risky image means leaving Clario, finding a new one, downloading it and coming back, and it doesn’t land in the old one’s spot. Clario still shouldn’t pick for the producer. But it can hold the spot, take her to the same product, and check the new image before it joins the batch.
What would prove me wrong
Problems get caught early, and rework doesn’t drop.
Then expiring licences were never the real cause of the swaps. It’s too early to have that number. It’s the next thing I want to measure.