Inspiration

Getting a song into a TV show, film, game or ad ("sync licensing") is one of the few big paydays an independent musician can reach without a record label. But the way in is broken. Artists mass-email music supervisors they've never met and rarely hear back. Supervisors, working to tight deadlines, keep pulling from the same few labels. Brilliant emerging artists never get heard, and shows keep reusing the same famous tracks.

Sync marketplaces let you search by genre, mood and tempo. None of them answer the question that actually decides a placement: does this show's audience already love music like this? Spotify tells an artist who their fans are, but it stops at music. And when supervisors ask AI for fresh artists, it suggests the names it already knows: in our tests, 96% of Claude's picks were big names. It also confidently invents shows that don't exist.

Qloo knows what fans of an artist also love across TV, film, games, podcasts and brands. That cross-category taste link is exactly the missing piece, so we built Cue on top of it.

What it does

Cue is a taste-powered sync agent that works in two directions.

For artists

  1. Paste your Spotify link and Cue finds you in Qloo. Not there yet? Name three artists you sound like and Cue builds a stand-in profile, labelled honestly.
  2. See who your fans really are: top tastes, age and gender lean, where they live on a map, live music venues they like, and similar-sized artists to collaborate with.
  3. Get a ranked list of TV shows, films, games, podcasts and brands to pitch, each with a fit score and a plain-English reason.
  4. A simple "where to pitch first" view sorts every match into Pitch first, Dream pitches, Easy wins and Skip for now.
  5. Get a ready-to-edit pitch email for each one. Cue never sends anything; you stay in control.

For music supervisors, producers, creators and brands a. Pick a show, film, game, podcast or brand like yours, choose the vibe, and optionally pick your viewers' audience from 104 Qloo audience groups (like "Video Gamer" or "New Parents"). b. Get a shortlist of under-the-radar artists whose fans match, with famous names filtered out by a popularity cap.

For everyone: a live trace panel shows every step of the agent and every Qloo call it makes, so you can see exactly why each match was made.

How we built it

Our core rule: the LLM plans and writes, Qloo supplies the facts, and plain code checks and scores.

  1. Find: Spotify link → Qloo; if that misses, Spotify → MusicBrainz → Qloo; if that misses, a sounds-like stand-in. Search only accepts exact name matches, so we never latch onto the wrong artist.
  2. Profile: Qloo Entities and Insights build the fan profile: taste tags, age and gender lean, a fan heatmap, venues and similar artists. In supervisor mode, Qloo Audiences steer the artist search toward the viewers you pick.
  3. Match: five Insights calls run in parallel (TV, movies, games, podcasts, brands) with explainability turned on, so every match carries Qloo's own reason.
  4. Score: a deterministic scorer in plain code. The model never touches a score. We rank by lift (how much more this artist's fans like a production than fans of similar artists do) plus audience overlap, inside three popularity sections (Big screen, Prime time, Indie gems):

$$\text{match} = 0.70 \times \text{lift rank} + 0.30 \times \text{audience match}$$

We compute lift ourselves from two Insights calls (your fans vs fans of four similar artists), so every match type uses the same method.

  1. Guard: a grounding guard drops any name that isn't a real Qloo entity, and a claims guard removes any sentence saying a song was placed somewhere unless our data shows it.
  2. Write: Claude writes the pitch kit or shortlist brief from checked, scored data only.

Supervisor mode runs the same pipeline in reverse, with a 0.80 popularity cap (widened to 0.85 only if too few artists come back), so "under-the-radar" really means under the radar. It also checks MusicBrainz so we never suggest an artist who has died or a band that has split up.

Stack: Python · FastAPI · async httpx · Qloo API (Search, Entities, Insights, Tags, Audiences) · Claude Haiku 5.5 as planner and Claude Opus 5.5 as writer · Next.js on Vercel · Cloud Run · MusicBrainz · Leaflet maps.

Every Qloo request goes through one client with a cache, rate limiter, retries and a parameter checker.

Challenges we ran into

  1. Everyone got the same shows. Raw affinity was nearly flat, and the same few hit shows topped almost every artist's list. Switching to lift, and splitting results into popularity sections, surfaced the shows that are genuinely distinctive to each artist's fans.
  2. Silent failures. Qloo quietly ignores parameters that don't fit an entity type and returns empty or wrong results with no error. We built a parameter checker that rejects bad requests before they're ever sent.
  3. Near-miss search results. For artists Qloo doesn't know, search returns a different artist with a similar name. We added exact-name matching plus a Spotify → MusicBrainz route, and an honest sounds-like fallback.
  4. Trending didn't fit. Qloo's trending data works per entity, and the hackathon data stops around July 2026, so we left momentum out rather than show stale numbers.
  5. Keeping the AI honest. LLMs love inventing shows and placements. We designed the whole pipeline so the model can only write about data that has already been checked.

Accomplishments that we're proud of

  1. Zero made-up names by design. Every show, film, game, brand or artist Cue shows is a verified Qloo entity.
  2. A real eval, not just a demo. We compared Cue against Claude alone on 41 real, sourced sync placements and 12 small US artists. Claude alone picked big names 96% of the time; 98% of Cue's picks were under-the-radar.
  3. One engine, two markets. The same pipeline serves artists looking for placements and supervisors looking for fresh talent.
  4. Explainable from end to end. Every score comes from code, every match carries Qloo's reason, and every API call is visible in the trace panel.
  5. Built to last. 262 automated tests and caching on every Qloo call.
  6. A product people can actually use: a clean, minimal UI with a custom logo, maps and simple charts, designed for artists and supervisors who aren't data people.

What we learned

  1. Taste beats genre. The best matches weren't always the obvious genre fit; they were where the fans actually are.
  2. Scores belong in code, not in the model. Results became consistent, explainable and testable.
  3. Showing the work builds trust. The trace panel turned "trust us" into "see for yourself".
  4. Honest boundaries make a product stronger. Saying clearly that Cue doesn't listen to audio, doesn't promise income and never sends email made it easier to trust, not harder.
  5. Small teams need a shared contract. Three people building in parallel only worked because we agreed on data shapes and rules up front.

What's next for Cue: the sync agent with taste

  1. Agency dashboard: manage a whole roster of artists and get placement suggestions for each one.
  2. Momentum alerts: notify artists when a show or brand whose audience matches theirs starts trending, once fresher trend data is available.
  3. Brief matching: let supervisors paste a real music brief and get artists matched to the scene, not just the show.
  4. Live and local: turn the fan map and venue data into gig and local-ad suggestions.
  5. Likeness protection: pair Cue with consent tools so agencies can place their artists and protect their voices.

Built With

Share this project:

Updates

Submission history