Inspiration

Ask an AI which TV shows Taco Bell should advertise on. You get Rick and Morty, South Park, Stranger Things. Sounds right. Late night, a bit weird, very Taco Bell.

Then I asked Qloo what Taco Bell's customers actually watch. They score Peppa Pig higher than Rick and Morty. What they really love is Diners, Drive-ins and Dives, Man v. Food and Chopped. Food TV. Obvious once you see it, and the AI didn't get there.

That gap is the whole project. A language model knows what's been written about a brand, so it plans for the brand's image. Qloo knows what the brand's customers like across TV, music, podcasts, games and films, so it can tell you who you'd actually be paying to reach. In the whole pipeline, Qloo is the only part that knows about people instead of words.

And this matters for real money. 54% of 211 US ad buyers in IAB's September 2026 survey expect to spend more time on agentic ad buying this year, and US podcast ads alone were $2.9 billion in 2025. A placement picked for the vibe is money spent on someone else's audience.

What it does

You type a brand and pick a channel: TV shows, podcasts, music artists, video games or films. Then you watch this happen, usually in under a minute:

  1. An AI agent drafts a media plan, the way any assistant would.
  2. Hearsay pulls out every pick and scores each one against that brand's real customers in Qloo.
  3. Each pick gets a verdict: backed by fans, no better than a random famous pick, or can't check.
  4. The agent gets its guesses back with Qloo's evidence and rewrites them. Hearsay checks the rewrite too, and flags it if the agent "fixed" the plan by just deleting picks.

Click any pick and you see its score next to the controls and where the brand's real top 50 starts. Copy the plan as text or share its link. There are eight saved plans you can open straight away (Taco Bell, Liquid Death podcasts, Red Bull artists, Chelsea F.C. artists and more), no login.

It's also an MCP server. Any agent can call check_taste_claims before it tells someone what "fans of X" like, which turns Qloo into a fact checker for every agent that recommends stuff.

How Qloo does the deciding

Without Qloo, Hearsay is one more AI guessing by theme. With it, every pick is a number about real people.

The tricky part: an affinity score means very little on its own. Michael Bublé scores 0.76 with Grand Theft Auto fans. So for each plan Hearsay makes one insights call that scores all the agent's picks together with five famous things nobody would pick for that audience (for TV that's Peppa Pig, Antiques Roadshow, Bluey, Wheel of Fortune and the Kardashians). A second call gets the brand's real top 50 in that category. A pick is backed if it's in that top 50 or clearly above the middle control. If it can't beat Peppa Pig, it's a guess.

Every plan crosses categories (a drinks brand to podcasts, a football club to music), and that's exactly what Qloo's taste graph is built for and exactly where the AI is weakest. More on that below.

Names are resolved with typed search first, so "Columbia" (three different brands) gets reported as ambiguous instead of guessed. Every Qloo call goes through one client with a cache, a rate limiter and a budget guard that reads Qloo's rate limit headers, so the saved plans keep working whatever happens to live traffic.

Does it actually work

I asked Claude Sonnet 5.5 and GPT-5.4 mini 100 questions, checked every pick, let each one fix its answer once using Qloo's evidence, then checked again. 192 runs, about $3.

First answers: 22% of Claude's checked picks and 21% of GPT's were no better than a random famous pick. After one round with Qloo's evidence: 0% and 2%.

The number that turned this into a media planner: when the question crossed categories, the agents guessed 23% of the time. Inside one category, 10%. A media plan always crosses categories. Sport was the worst at 41%.

It doesn't always find a problem, which I actually like. The Chelsea F.C. artists plan came back with nothing to fix.

Honest bit: a second model reviewed a sample of the verdicts (51 of 60 "no better" picks looked chosen by theme, 29 of 30 backed picks held up). No person has labelled them yet. The questions and scripts are in the repo so anyone can rerun it.

What went wrong along the way

  • It started as a general "culture check" for any AI answer. Then the eval showed AIs are mostly right inside one category and mostly wrong across them, so on day three I rebuilt it around media planning, which is all cross category and is what Qloo actually sells.
  • My first rule compared picks with the highest control. Then Taylor Swift fans turned out to genuinely like Celine Dion (0.91), which made Sabrina Carpenter look random. I switched to the middle control before the full run.
  • Three of my "nobody would pick this" podcasts (Call Her Daddy, Huberman Lab, SmartLess) are podcasts planners actually pick. Swapped them out.
  • The extractor once found 1 game out of 12 that an answer named. Same answer, rerun: all 12. Now it asks again when it gets back fewer than half the names the answer puts in bold, and if it's still short the plan says so instead of looking fully checked.
  • I binned three versions of the website: a plain document, a fake app console and a tabloid. The one that stuck is the most boring idea, the media plan itself, the thing a planner would actually send.

What I learned about the Qloo API

Scoring chosen entities silently returns 20 results unless you set take. The guide says video_game but the server wants videogame. Scoring one entity inside a location comes back empty. They're all on the field notes page with a request to reproduce each one.

What doesn't work yet

Age group and location picks aren't checked. Some podcasts aren't in Qloo and show as "can't check" instead of counting against the agent. Affinity isn't reach or price, so Hearsay is the first filter on a plan, not the whole plan.

What's next

Budget aware plans (affinity times reach), and checking a whole agency deck instead of one list at a time.

Built With

Share this project:

Updates

Submission history