-
Who are you?
-
the AI agent asks Qloo and ranks Cedric the Entertainer, Snoop Dogg and Dwayne Johnson for Hyundai, plus a backup.
-
Cedric the Entertainer x Hyundai scores 80 out of 100: a strong fit, far above the average celebrity audience.
-
Aveeno is #1 of 50 brands for Jennifer Aniston's fans. Backup stars Courteney Cox and Julia Roberts are ranked too
-
Cedric the Entertainer x Patagonia scores 4 out of 100. TasteDesk says no when the fit is not there.
Inspiration
Companies sign celebrities for millions of dollars, and a lot of those choices still come down to follower counts, gut feel and who the agent knows. A bad pick wastes a whole campaign budget. I wanted a number to look at before the check is written. The question behind every endorsement is simple: do this star's fans already love this brand? Qloo's taste graph can answer that, so I built a tool around it.
What I learned
Qloo does more than recommend things. Its taste graph can score how strongly one audience points at one brand, and it works across music, film, brands, places and shows.
filter.results.entitieslets you score a specific brand instead of only listing top results. This became the core of the Fit Score.- Demographic signals (age, gender) change the score, so one pair can be split by segment.
- Heatmaps show where an audience lives inside a city.
- The same graph works across countries. In my tests, Cedric the Entertainer's taste in Lagos pulled up local shows like Bob Hearts Abishola, and Kevin Hart's taste in London pulled up Top Boy.
- Raw affinity is high for almost everything (0.46 to 0.99), so a popularity correction (z-scores) matters. Without it, brands everyone likes win for everyone.
Why TasteDesk collapses without Qloo
Every number in the app is a Qloo result. Gemini only plans the steps and writes the summary. Take Qloo out and almost nothing is left:
- The Fit Score disappears. An LLM can say Aveeno suits Jennifer Aniston. It cannot measure how strongly her fans point at Aveeno compared with 50 other brands.
- Audience lift disappears. It needs the taste of the other celebrity audiences to compare against, and that data lives in the taste graph.
- Segments and the city map disappear. The age and gender split and the heatmap come straight from Qloo's demographic and location signals.
- Taste twins disappear. They come from Qloo's lookalike lists, and an LLM would just name famous people in the same genre.
- The agent goes blind. All five of its tools call Qloo. Without them it has nothing to base a recommendation on except guesses.
How I built it
The app is Streamlit on top of the Qloo API. On first load it scores 36 celebrity audiences against 50 reference brands. After that, any celebrity or brand you type is scored live. The Fit Score is the share of reference brands that a brand beats for that star. Taste Twins come from Qloo's lookalike lists, each scored against your brand. The agent uses Gemini 3.1 Flash-Lite with function calling. Gemini plans the steps and writes the verdict, and Qloo supplies every number.
Challenges
The pitch changed many times. I started with an opening-act finder, then a film marketing heatmap, then a tour briefing tool. I tested each idea against Qloo before building it, and several parts did not hold up. Named neighborhoods returned nothing, the heatmap did not match Census data, and the opener fits were not strong enough. I dropped those ideas and kept what survived testing.
TasteDesk went through the same process. The first run scored 0.61 on 91 deals, and a missing-score bug pushed 13 of them to the bottom. Fixing it meant going bigger and testing properly: 135 celebrities, about 194 brands, 25,785 scored pairs and 53 usable real signed deals. I also fixed duplicate person entities that broke some celebrities as signals.
The main claims in the pitch are tested now. 27 of 53 real deals landed in the top 10%, about 5 times chance. Taste Twins beat random stars on 67 of 73 celebrities. Where Qloo had gaps, I said so in the README and wrote "Not enough data" into the app.
Log in or sign up for Devpost to join the conversation.