Inspiration

Independent artists route tours on instinct and a streaming dashboard. The dashboard counts plays, not people who would buy a ticket, and a language model knows which cities are big. Neither knows where a particular artist's fans are unusually dense, which rooms they already go to, or who else they would turn up for. That is exactly what Qloo's taste graph holds, so the question became: what does a booking agent look like if its evidence is Qloo?

What it does

Name an artist, a starting city, a first date and the usual crowd. Routed:

  • asks Qloo where that artist's fans over-index across North America, the UK and Ireland, or mainland Europe (thousands of heatmap tiles, ranked into touring cities);
  • builds the audience from Qloo: age skew and door advice, the sound and mood they love, the themes they connect with, the dishes they seek out, and the podcasts, brands, films, TV and books they over-index on;
  • runs an agent (NVIDIA Nemotron 3 Ultra on Nebius Token Factory) that shortlists cities, scouts each one through Qloo for the rooms these fans go to and the artists who share the audience, and books a room and an opener in every city;
  • routes and dates the tour by rule (no two shows within 150 km, the shortest drive, at most 8 hours behind the wheel on a show day, a day off after five shows), checks each booked room's capacity on the web, and swaps a room that misses the crowd;
  • writes a hold request for every venue in which every figure is checked against that stop's evidence, and strikes anything that isn't;
  • gives each city a poster run (the independent record stores, bookshops and cafés these fans go to) and an aftershow list (their bars);
  • prints the tour poster from the data: every dot is a tile of the artist's Qloo heatmap.

And every tour runs twice. Before the agent looks anything up, the same model routes the same shows from what it already knows. Both tours are scored on the artist's own Qloo evidence, side by side in the tour book. Across fourteen artists run on the live site, Routed's cities averaged rank #6.7 on each artist's fan map; the same model alone averaged #26.1. For Sierra Ferrell, the model alone sent her to Atlanta (#101 on her map) and Dallas (#99); Qloo put Asheville, Nashville and Vancouver at the top. Where the biggest cities are also the fan cities, as in the UK, the model keeps up, and the benchmark page says so.

Routed is also an MCP server (/api/mcp), so any agent can call fan_map, fan_profile, route_tour and get_tour.

What makes it Qloo-powered

Without Qloo there is nothing to route: the cities, the rooms, the openers, the poster run, the aftershow, the audience and the campaign all come from Qloo, and the control group shows what the same model does without it. A typical eight-show tour makes about 55 Qloo calls, each listed in its tour book with the plain-words question, the exact request (never the key) and the answer:

  • /search to resolve the artist;
  • /v2/insights with filter.type=urn:heatmap (by locality name, or a WKT polygon for Europe) for where fans over-index;
  • /v2/insights with urn:entity:place and filter.tags (live music venue, concert hall) per city for rooms; record store, bookshop and café tags for the poster run; bar tags for the aftershow;
  • /v2/insights with urn:entity:artist, signal.location.query and filter.popularity.max for openers who share the audience in that city;
  • /v2/insights with urn:demographics for the age skew and door policy;
  • /v2/insights with urn:tag and filter.tag.types for genres, mood, themes and dishes;
  • /v2/insights with urn:entity:podcast, brand, movie, tv_show and book for the campaign;
  • /v2/trending for momentum;
  • /v2/insights with filter.results.entities to score every room on both tours on one scale.

How we built it

  • Next.js 15 on Vercel, private Vercel Blob for tours and a shared capacity cache.
  • Qloo Insights API called directly over REST, through one request gate (four in flight, retries with backoff), because the hackathon key is rate limited.
  • The agent in three moves (shortlist, scout, book) with strict JSON output from Nemotron 3 Ultra; rules decide everything that must be exact.
  • Tavily for room capacities, read by rule with the quote and source kept.
  • The poster is SVG, two inks with a multiply overprint, drawn from a precomputed land mask so only the dot sizes change per tour.
  • A scripts/probe-qloo.mjs probe measured every call before the design was fixed; 13 unit tests cover the routing rules, scoring, capacity parsing and evidence checks; CI runs typecheck, tests and build.

Challenges we ran into

  • Qloo's heatmap returns thousands of tiles whose affinity is a rank across the whole map, so the top one percent all read 0.99. Ranking by affinity alone crowned one-tile hot spots (Indio, which is the Coachella grounds). Cities are ranked by affinity times the tile's taste signal instead.
  • "Europe" as a location resolves to a street in Colombes, near Paris; the region is drawn as a polygon.
  • The first agent was a free tool loop. Nemotron repeated lookups and ran out of turns on most tours, so the moves became fixed while the choices stayed with the model. With reasoning on, Ultra spent its whole token budget thinking and was cut off mid-JSON; turning reasoning off took a booking from about a minute to a few seconds.
  • A fair control group needed exact city matching: "St. Louis" once failed to match and counted as a city with no fans, which flattered Routed. It was fixed and every benchmark tour re-scored before any number was published.

Accomplishments that we're proud of

  • A measured answer to "does Qloo make the agent better", on every tour and across fourteen artists, including where it doesn't.
  • Every figure in a pitch traced to its source, and every Qloo call on the record.
  • A poster an artist would actually put up.

What we learned

Qloo's graph is strongest exactly where generic knowledge is weakest: artists whose audiences don't follow the population. And the cross-domain lists (podcasts, brands, dishes, themes) turn a routing tool into the whole work around a tour.

What's next

Hold requests sent from the tour book and tracked, real ticket counts fed back to calibrate the fan map, and festival and support-slot routing for artists joining someone else's tour.

Built With

  • d3-geo
  • mcp
  • nebius-token-factory
  • next.js
  • node.js
  • nvidia-nemotron
  • qloo
  • qloo-insights-api
  • react
  • tavily
  • typescript
  • vercel
  • vercel-blob
Share this project:

Updates

Submission history