-
-
Patagonia tour brief: the agent streams its steps, then ranks artists by live Qloo taste affinity, with evidence on every card.
-
Every AI-written line cites its evidence. Hover a citation and the exact Qloo data behind it lights up.
-
Same brief, same model, no Qloo: none of the AI's picks made FanFit's top 8. Qloo ranks them lower for this brief.
-
One-click outreach email, built only from evidence that supports the deal. Every fact is cited.
-
Creators flip it round: brands whose customers already love Huberman Lab's audience, with Qloo's own description of Whoop's customers.
Live demo (no login): https://agenticai-fanfit.brainupgrade.in · Code: https://github.com/brainupgrade-in/fanfit
In 30 seconds
- Who it's for: brand partnership teams choosing which tour, festival stage, podcast or creator to sponsor.
- The result: across 10 real brands, only 3 of the 72 partners a plain LLM suggested made FanFit's top 8 by Qloo taste affinity. On Patagonia's tour brief, none did.
- Two-sided: creators flip it round. "I'm a creator" ranks the brands whose customers already love your audience (Huberman Lab → Whoop, Four Sigmatic, Oura Ring).
- Watch: https://youtu.be/vmcQeReWhTA (2 min 20 s, narrated walkthrough of the live demo, including creator mode).
Try it (no login)
- Open https://agenticai-fanfit.brainupgrade.in and click any example on the left. Results stream in about 10 s.
- Hover a citation chip on a card to see the Qloo evidence behind that sentence.
- Click Draft outreach email on a card.
- Scroll down and click Compare with AI alone.
- Switch to I'm a creator (or open https://agenticai-fanfit.brainupgrade.in/#creator) and pick Huberman Lab to see brands ranked for a creator.
- Or type your own brief under Describe it.
The demo runs on live Qloo data. If the hackathon key is deactivated before judging ends, all 14 examples (10 brand, 4 creator) are served from cached Qloo responses, typed briefs are switched off, and a banner says so.
Inspiration
Sponsorship is a huge market, from tours and festival stages to podcasts and creators, and partners are still chosen mostly by follower counts. Reach tells you how many people will see your logo, not whether they'll care. We asked an LLM "which podcasts should sponsor our hot sauce?" and got the same stereotypes you'd guess yourself. That's the gap Qloo's taste graph fills: it knows what audiences actually love, across music, podcasts, TV and brands.
What it does
- Brief → agent → Qloo entities. Describe a campaign in plain English. A Nemotron agent looks up the brand and 1–3 taste words in Qloo with tools, retries short variants when a search misses, and can only use IDs Qloo returned. You confirm the entities before anything is ranked.
- Ranked partners with evidence cards. Qloo Insights ranks artists, podcasts, TV shows and creators by affinity with the brand's taste signal, filtered to your age band. Each card shows:
- the affinity score;
- the partner's own Qloo taste tags ("their audience is into…");
- how strongly their audience over- or under-indexes with your age band;
- whether the ranking used your target market as a location signal.
- Reverse mode: creators find their sponsors. Switch to "I'm a creator" (or open
/#creator). An artist, podcast, show or creator gets the brands whose customers over-index on their audience: Qloo Insights withfilter.type=urn:entity:brand, nonprofits dropped, and Qloo's own audience description and lifestyle themes as card evidence. The claims, the email (now from the creator to the brand) and the AI-alone check all follow the direction. Across the 4 creator examples, 3 of the AI's 32 brand picks made FanFit's top 8. - Grounded "why this fit." Every AI-written line cites the card evidence it rests on, and a validator removes anything that doesn't. Hover a citation to see the exact data behind it.
- One-click outreach email. It's built only from evidence that supports the deal, with every fact cited.
- "Would AI alone get this right?" The same brief and the same model, without Qloo. FanFit checks each of the AI's picks against Qloo and shows where Qloo ranks them, plus the partners only FanFit found. Across our 10 live examples (saved runs, 13 Oct 2026), only 3 of the AI's 72 picks made FanFit's top 8. For Patagonia's tour, none did: the AI picked The Lumineers (Qloo rank #13 for the brief) and Maggie Rogers (#15). Qloo's top picks were Houndmouth, Caamp and Mt. Joy, whose audiences over-index on Patagonia and with 30–34 year olds.
How we built it
- Qloo:
/searchand/v2/tagsturn the brief into a signal;/v2/insightswithfilter.type= artist / podcast / tv_show / person, the brand entity plus taste tags as signals, and the age band, produces the ranking;- the target market goes in as
signal.location.query, andurn:demographicsgives the age profile as an over/under-index.
- Agent: an LLM tool-calling loop (search_brand, search_tags, finish) on NVIDIA Nemotron 3 Super via Nebius Token Factory, called through any OpenAI-compatible endpoint. We compared three Nemotron models on our own briefs and picked the one that was fastest and whose claims all passed the validator.
- Grounding: structured claims with evidence IDs, plus a deterministic validator. It rejects:
- claims that cite no evidence, or cite evidence that isn't on the card;
- claims that name other cards' partners;
- "strong", "high" or "top" without a quoted value;
- the age affinity index turned into a percentage of the audience.
- Backend: FastAPI streams the agent's steps live to the page (NDJSON). Qloo access goes through one client with three modes: fixture, live with a disk cache, and replay, so the demo survives after the key expires. A parameter allowlist means nothing the user types reaches Qloo verbatim.
- Hosting: k3s on an NVIDIA DGX Spark behind a Cloudflare tunnel. Plain HTML/JS with no framework. 67 tests.
Challenges we ran into
- Keeping an LLM honest about data. The model happily turned a regional affinity score into "a large portion of listeners live in Denver", and pitched weak evidence as a strength. Prompting alone didn't fix it; a validator with explicit rules and passing only supportive evidence to the pitch writer did.
- Building before the API key arrived, then meeting real data. We built against fixtures behind one Qloo interface. The live check then overturned several assumptions: demographics are −1..1 indices, not shares; the heatmap returns unnamed geohashes; trending was flat; brands have no tags. Because all parsing lived in one file, adapting took hours, not days. Details in docs/datacheck.md.
- Rate limits (5/s, 10k/month): a thread-safe throttle, 1-second backoff on 429s, and caching every response.
- Streaming through Cloudflare and ingress-nginx without buffering, and rate-limiting by the real visitor IP behind two proxies.
Accomplishments we're proud of
- Every sentence the AI writes on a card or in a pitch is traceable to a Qloo number.
- The "AI alone" comparison makes Qloo's value visible in one click instead of asserting it.
What we learned
Taste data changes the question from "who is big?" to "whose fans already like what we sell?", and an agent is the right shape for it: resolving fuzzy briefs into entities is the hard part, and it's exactly what tool use is good at.
What's next
- Free-text briefs for creators (today creators use the form), and matching both sides: brands see the creators who'd say yes.
- Commercial case for Qloo:
- Agencies and talent agencies: a per-seat workflow product, where each brief drives several Qloo calls.
- Creators: a self-serve tier, a long-tail market Qloo doesn't reach today.
- Positioning: a showcase of Qloo as the evidence layer behind agent decisions.
Built With
- cloudflare
- css
- fastapi
- html
- javascript
- k3s
- kubernetes
- nebius-token-factory
- nvidia-nemotron
- python
- qloo-api

Log in or sign up for Devpost to join the conversation.