Inspiration

Brands usually pick creators by followers and engagement, but those numbers say nothing about taste. A cultural mismatch only shows up after signing, when it is already expensive to undo. We wanted a check you can run before you sign, not a ranking that looks confident but cannot show its work.

What it does

CreatorPulse is cultural due diligence for brand × creator partnerships, in two modes that share the same affinity rescaling, but use different evidence bases and confidence rules.

Find creators. Enter a brand and, optionally, a creator type. CreatorPulse ranks Qloo's YouTubers by how strongly your brand's audience likes them, and scores the top ten on what their audience likes: brands, music, films, shows and places, all from Qloo.

Check a creator. Enter a brand and 1–5 YouTube videos, or a channel URL (its latest 15 videos). You get a Fit Score (0–100), five taste dimensions (Tech & Innovation, Film/TV & Entertainment, Music, Lifestyle & Fashion, Food & Travel), the Qloo evidence behind every dimension, a decision with its next step, and a report you can attach to a proposal.

Try the one-click demo: Apple × Marques Brownlee. Recorded live runs for that pair fall in the 68–75 range, with the current demo snapshot at 68.

How we built it

The pipeline is deliberately simple, and Qloo does the deciding:

  1. YouTube Data API v3 reads the videos' titles, descriptions, and tags.
  2. An LLM (Google Gemini, with Groq as a fallback) only proposes names explicitly mentioned in those videos. It never writes a score.
  3. Every proposed name must exactly match a Qloo entity, by name or alias, through Qloo GET /search. Names Qloo cannot confirm are listed as not found, not scored. A product named in a video counts as its maker by a fixed rule (Sony FX3 → Sony).
  4. Qloo GET /v2/insights expands the creator's entities across domains, then measures how strongly the brand's audience relates to each one. Named entities count fully, cross-domain ones half. Affinity is rescaled by a fixed formula in our own code, lib/scoring.ts, from [0.5, 1] to [0, 100], split across five dimensions (a dimension needs at least 3 entities to count), and averaged into the Fit Score.
  5. The result page shows an Agent Trace with every YouTube, LLM, and Qloo call and its run log, whether it was live or cached, and a "Run live" option that bypasses the cache.

If a brand is not in Qloo, you can score it against 1–3 reference brands, or from a brand description or web page, clearly labelled with lower confidence. If either side has fewer than 3 scoreable Qloo entities, CreatorPulse says "insufficient data" instead of inventing a score.

The site is deployed on Vercel, and the code is public on GitHub.

Challenges we ran into

The brand itself must not be scored. If it were, any video mentioning that brand would automatically score high for that brand. So a mention of the brand is shown separately as Prior coverage, from YouTube, not Qloo, and never counted in the Fit Score. Familiarity only changes the next step, never the verdict.

"No data" is not one problem. It can mean only the brand itself was mentioned, fewer than 3 entities were confirmed, extraction found almost nothing, Qloo has no matching entity, or a call actually failed. We classify the cause on the page from the run's own log, and make the next step actionable on the same page: paste a channel URL to read the latest 15 videos, or add 2–3 videos that name other brands and topics.

Extraction moves, scoring must not. With temperature 0, the LLM still sometimes picks a different name on a different run. A sponsor name, Ridge, sometimes appears and sometimes does not, which moves Apple × MKBHD between 68 and 75. We split the regression test in two: if the confirmed entities are the same, the score must be exactly the same; extraction variation is recorded separately, not hidden.

Exact names still collide. "Wahoo" the fitness brand is not "Wahoo's Fish Taco", and a columnist named 自由人 is not the Japanese rock band of the same name. Fixed rules catch the cases we can: a retry pick that adds words is rejected, a name linked to its own domain in a sponsor line is searched as a brand, and a thin brand description falls back to taste tags alone.

A person is not a channel. Find creators scores Qloo's person-level profiles, so a creator with several roles mixes audiences. Each creator's page says which YouTube channel was matched, which handles were tried when none was, and lets you link the right one.

Quota is a real constraint. Gemini is on a free plan, so a quota failure falls back to Groq. If the LLM chain fails, extraction falls back to rule-based, labelled as such. If a Qloo call still fails after retry, the result is marked Unverified, with no verdict, rather than scoring guessed keywords.

Accomplishments that we're proud of

  • An evidence chain from video to verdict. Any point of the score traces to a Qloo entity ID, its affinity, and the video that named it.
  • Checked, not just claimed. Cultural fit has no answer key, so we tested what can be tested. The same evidence always gives the same score. For 11 of 12 brands, the creator type that should fit scored higher than one that shouldn't. For 9 of 9 real sponsorships found in creators' own video descriptions, the partner ranked in the top half of 8 creators. Small samples, and it shows direction, not campaign results: details and scripts in docs/VALIDATION.md.

What we learned

Taste, not reach, is the useful signal here, but only if every point can be traced back to a Qloo entity and affinity. A score without evidence is worse than no score. The hardest part was not building the score, it was deciding when not to give one, and making that refusal useful: a clear cause, and a next step the user can actually take on the same page.

What's next

  • Validate against people and outcomes: a blind ranking by marketers (the survey and scorer are ready), then real campaign results, to test whether a higher score predicts a better partnership.
  • Channel-level scoring instead of person-level profiles in Find creators.
  • A cleaner misfit control group, and more of them, before deciding whether default-classified entities should count.
  • Brand-safety checks: past controversies and content risks, which a cultural-fit score deliberately doesn't measure.

Built With

Share this project:

Updates

Submission history