Inspiration

Every tour date has a support slot, and on most dates the local promoter or talent buyer fills it. The opener has a clear job: bring in people who would stay home for the headliner alone. Yet the pick usually comes from gut feel, whoever the agency suggests, and a quick look at streaming numbers. None of those say where an act's fans actually live in that city.

Qloo knows what fans love across music, places and brands, and where those fans are. That is exactly the missing piece, so we built the booking agent we wished a promoter had.

What it does

You ask Swami a question in plain words, such as "Find an opener for Big Thief in Chicago, Mar 14." The answer streams back as a short message plus documents you can edit, save to a project and export:

  • Opener ranking: acts ranked by fan fit (how highly the headliner's fans rank them) and reach gain (fans they bring from neighbourhoods where the headliner is thin), with a one-line reason per act.
  • Crowd map: the city's neighbourhoods, showing where the headliner already sells and where the opener adds a new crowd.
  • Tour routing: cities ranked by fan strength and put in drivable order, with a room-size band per stop.
  • Venues, co-promo partners and sponsors: rooms, bars, record shops and brands the crowd already loves.
  • Audience: age and gender profile of the fans.
  • Proposal and email: a pitch to the headliner's management and a venue hold request, filled from the analysis.

Acts that would outdraw the headliner are flagged as co-headliners, venues scale from clubs to stadiums, and venue search works outside the US. Follow-ups work like a conversation: "what about Austin?", "drop Phoebe Bridgers", "now the venues". When a name matches several artists, Swami asks which one with picture cards, including "None of these". You can copy, undo, or edit a question and keep the old answer as a version. Teams share workspaces, projects and rosters, with Viewer roles for people who only read.

What makes it Qloo-powered. Swami's agent asks its questions of Qloo's taste graph, and three Qloo strengths make each answer possible:

  1. One fan, every domain. Qloo links what the same people love across music, places and brands. Seeded with one headliner, the same fan base picks the opener, the bars and record shops to partner with, the brands to pitch and the audience profile.
  2. Taste with an address. Qloo's heatmap shows where in a city a taste lives, block by block. That powers the crowd map, the reach gain in the opener score and the city ranking for tours.
  3. Signals that steer the question. The city as a signal gives local taste, a trend bias surfaces rising acts, and an entity list scores a manager's own roster against the headliner's fans.

Live example, Big Thief in Chicago: Lucy Dacus comes out on top (fit 0.97, reach gain 0.39): her fans add a crowd in South Lawndale and West Ridge, where Big Thief is thin. The whole answer takes about ten seconds.

How we built it

  • Qloo, the core of every answer. Insights with signal.interests.entities for related acts, a city signal for local taste, bias.trends to spot rising acts, filter.results.entities to score a manager's own roster, the heatmap on urn:geohash for neighbourhood heat, locality insights to name neighbourhoods, demographics for the audience, place tags for venues, bars, restaurants and record shops, and brand insights for sponsors.
  • Scoring in plain code. Every number comes from small, unit-tested functions: fan fit is an act's standing in the headliner's related list; reach gain compares the two acts' neighbourhood heat; a city's strength for a tour is the average heat rank of its blocks.
  • An AI agent on top. The agent reads the question, picks the tools, and writes the message. It cannot make up a figure: before a reply is shown, every number in it is checked against the tool results, and a reply that fails falls back to a template written from the same data.
  • App. Next.js and React with a chat on the left and the documents on the right, answers streamed step by step over Server-Sent Events, Supabase for accounts and shared workspaces with row-level security, deployed on Vercel. Zod checks every tool call and every saved document.

Challenges we ran into

  • Speed. Our first neighbourhood heatmap asked Qloo for named localities, which returns every polygon: 4.6 MB and over 90 seconds for Chicago. We switched to geohash cells (about 3 seconds) and named each cell after the nearest neighbourhood. An opener answer went from over two minutes to about ten seconds.
  • Ranking cities. City-level taste queries return no affinity, so a tour ranking would simply follow city size. Heat rank turned out to compare across cities: Morgan Wallen comes out on top in Nashville, Big Thief in Austin, Portland, Omaha and Madison.
  • Fair fit for famous acts. Our first fit formula rewarded acts for being less famous, which pushed the act fans rank first to the bottom. Basing fit on Qloo's own order fixed it.
  • Small details that mislead. A single airport block once made it look like a band's stronghold, so a neighbourhood now needs enough blocks to count. A rate limit at about ten requests in flight needed a shared queue.

Accomplishments that we're proud of

  • Every number a user sees traces back to Qloo data and a tested formula; the AI writes words only.
  • A complete product: nine kinds of answers, editable documents, projects, rosters, shared workspaces, export.
  • Live answers in about ten seconds for any US city, with real neighbourhood names.

What we learned

  • Qloo's ordering already accounts for popularity, so position in a list says more than the raw score when the scores sit close together.
  • Heat rank compares cities with each other, while heat affinity compares blocks inside one city.
  • Measuring the API early beat reading the docs: several shapes we guessed turned out different live.

What's next for Swami

  • Neighbourhood names for more cities outside the US.
  • Ticketing and streaming data next to taste data.
  • Promo links per opener that show what each act actually sold.
  • Importing an agency's roster in one step, and per-show pricing.
  • Festival lineups: instead of one opener, pick the five to ten acts whose crowds overlap least, so the bill reaches the most people for the same budget.
  • Beyond music, on the same engine: stand-up comedy (Qloo already returns comedians' neighbourhood heatmaps and demographics), live podcast tours and guest picks, and brand or venue collaborations. The question stays the same: which partner brings a crowd where you are thin.

Testing instructions

  • Open https://swami.web.id
  • Click "Open App" Button
  • Sign in with magic link (email).
  • Try "Find an opener for Big Thief in Chicago, Mar 14.", then click a row's crowd map, then "Draft a proposal". Other good asks: "Which cities should Big Thief play on a Midwest leg?", "Find sponsors whose customers love Taylor Swift."

Built With

Share this project:

Updates

Submission history