-
-
The month on one screen: six shows for a 500-capacity Chicago club, with Ratboys on Friday 20 November as the night to push.
-
With Qloo and without: the same month planned twice more without Qloo, and only the differences both of those plans agree on.
-
A verdict on every act the venue could book, with its rank by the regulars' taste and in Logan Square from Qloo's data.
-
Taste against place: how each act ranks for the regulars' taste and in Logan Square, Chicago. Ties are marked, never read as wins.
-
Co-promotion partners near the venue from Qloo's place data, and an audience check of the lead picks from Qloo's audience profiles.
-
The research trail: every Qloo call with its scores and raw result. Each citation in the plan links back to its call.
-
The same agent plans a cinema in Lavapiés, Madrid: Flow as the push night on the Almudena long weekend.
Inspiration
Venues book by instinct. A 500-capacity club in Chicago knows Wednesday and MJ Lenderman filled the room. But booking agents are offering it ten acts this month, and it doesn't know which ones its crowd will come out for, which one is too big for the room, or who should open. A cinema knows its regulars loved Past Lives, but not what they would like next. The taste data that would answer those questions sits in tools built for brands.
Marquee brings Qloo's taste graph to the person who books the room: the kind of audience insight a big chain has, in about two minutes, with the evidence laid out so the booker can trust it or overrule it.
What it does
In one line: Marquee plans a venue's month from what its regulars loved and tests each pick against the venue's city with Qloo's taste data. Beside it sits the same month planned without Qloo, so an owner sees exactly what Qloo changed.
You tell Marquee what kind of venue you run (a music venue, a music bar, a cinema or a bookshop), where, what recently filled the room and, optionally, up to ten acts or titles you can actually book this month. An AI agent (Claude) researches with Qloo and returns:
- The month on one screen: each night as a tile with Qloo's own image of the act, film or book, a short summary of what to book, hold and pass, and the one night to push hardest. Dates and times fit local custom and the calendar: public holidays, festivals in the venue's field and retail peaks (for a Brooklyn bookshop, Thanksgiving and Small Business Saturday). The month exports to a calendar file and as text.
- A verdict on every title you could book: programmed, featured, reserve, skip or "check the title", with one plain reason, and below it how the title ranks for your regulars' taste and in your city, straight from Qloo's data. "Check the title" means Qloo may have matched a different work by that name. An act too big for the room is skipped or gets a listening night, never a live set the venue couldn't afford.
- For a music venue, bills with support acts: each headline show gets a support act found through Qloo's taste recommendations, never one better known than the headliner on Qloo's popularity score.
- With and without Qloo, side by side: the same model also plans the month twice without Qloo, under the same rules. The page shows what Qloo told Marquee that those plans couldn't know, the night each plan would push, and how much the two Qloo-free plans differ from each other. It lists only the differences both Qloo-free plans agree on, each with Marquee's reason and its source.
- Audience and city: a chart places each title by your regulars' taste and by your city, so a film that suits the city but not your regulars (or the other way round) stands out at a glance. The section also sets Qloo's audience profiles for the lead picks against the audience the venue described.
- Co-promotion partners: up to three places near the venue whose audiences share its taste, from Qloo's place data (never a competitor: cafés rather than bars for a bar), each with a concrete offer tied to an event. Cinemas and bookshops also get five musicians for a pre-show playlist.
- Every step shown, and where the data stops: every Qloo call with its inputs, its scores as a bar chart and its raw result, and every citation in the plan links to the call it came from. A title without local data shows as missing data, not as a weak pick. If Qloo can't place a neighbourhood, the page says the evidence is city-wide. Marquee's own calls (a pairing, a format) are labelled as its judgement.
Who pays
Filling the room is the problem independent stages rank first, ahead of rising artist fees (NIVA). Venues pay per room, by capacity: $49 a month up to 500 and $99 up to 1,500, billed yearly. Even at $99 that is about $8 a show, less than a quarter of one ticket: the average ticket at clubs of 750 or fewer was $34.74 in the third quarter of 2025 (Pollstar), and an independent stage puts on shows 143 nights a year (NIVA). Agents already pay up to $199 a month for venue data tiered by capacity (Gigwell), and a club selling 50,000 tickets a year pays about $7,500 for booking software (Prism).
The bigger buyer runs many rooms. Live Nation alone owned, operated, booked or held a stake in 125 clubs and 112 theatres at the end of 2025, and promoted about 55,000 events that year (2025 annual report); independent bookshops add 3,783 US locations (American Booksellers Association), and Europe's Europa Cinemas network about 1,250 cinemas. For promoters and booking platforms: a per-room licence, starting with a 10-room pilot. A plan costs us under $1 in model usage, so a weekly replan fits every tier, and the month planned without Qloo shows each venue what it is paying for.
How we built it
- Agent: Claude (Sonnet 5.5) calls Qloo through the hackathon's own
qloo mcpserver from@qloo/qloo-harness. The agent looks up the venue's past hits (qloo_describe), discovers by taste (qloo_recommend), then ranks the venue's bookable titles twice withqloo_rank(on taste alone, then in the venue's city with no audience filter) and checks how its own finds rank in the city. It crosses domains for co-promotion (qloo_recommendfor places, filtered to the venue's area and a place category) and, for cinemas and bookshops, for a soundtrack (qloo_recommendfor artists), and checks the lead picks' audiences (qloo_audience_demographics).qloo_trendsandqloo_where_popularare available for timing and place checks. - The no-Qloo comparison. After the plan, the same model plans the month twice with no Qloo tools, with the same reasoning effort, venue data and programme rules (shared in code, including room size and runtimes). Only Marquee gets the instructions for using Qloo's data and the checks that can send a plan back, so a difference measures Qloo's data plus those checks, not the data alone. The page lists only differences both no-Qloo plans agree on. We don't grade the no-Qloo plans with Qloo's scores: that would only measure how closely they agree with Qloo.
- Short ids for the model. The model kept mangling Qloo's 36-character ids (mixing up two, cutting one short), wasting a call each time. It now sees short labels (e1, e2, ...) that the server maps back to the real ids, and those errors are gone.
- Taste first, place second. In our first live runs, we asked Qloo for films like Past Lives, Perfect Days and Aftersun in Madrid, for a 25–34 audience with two mood tags, and it led with blockbusters. Asked on taste alone, it returned twenty arthouse dramas. So Marquee finds candidates by taste, tests the same taste in the venue's city (with no audience filter), and checks audience profiles separately. A plan with a taste pick that skipped the city check goes back to the agent.
- Rules in code, not just in the prompt. Marquee accepts a programme only when:
- it has the right number of events, each date falls in the month on the weekday named, and start times are real times;
- every featured title and partner was returned by Qloo, and every citation points to a real call;
- every bookable title has a verdict consistent with the programme;
- every title held back has a reason the rankings support. A title that beats a booked one on taste can't be held back just because Qloo has no local data for it, and an act Qloo recommended from the venue's hits can't be dismissed as a wrong match just because its description looks off;
- an act held as too big for the room is better known on Qloo's popularity than every booked act, and no support act is better known than its headliner;
- at a music venue or music bar, acts that share members (say, a band and its leader's side project) get one night between them; a separate short question to the model finds them.
A programme that fails goes back to the agent up to twice, with the problems listed; if the third attempt still fails, the plan is shown anyway, with those problems listed first among its limits.
- Compact evidence for the model. Live Qloo results run to 2–45 kB, mostly metadata. The agent gets a condensed version: the status, what each input matched, any ambiguous matches with their candidates, and trimmed results with an explicit count. Tags meant for places (amenities, payment cards, hotel ratings) are dropped. The app keeps the full result for the research log on the page.
- Built for a public demo. With prompt caching, a run (both no-Qloo plans included) cost $0.38–0.48 of model usage in the four samples. A server cache replays identical requests for free, and there are daily caps in total and per visitor, a total spend cap, a run that stops when its visitor leaves, planning that stops once its cost passes $0.50, and venue text passed to the model as data rather than instructions. Keys stay on the server.
- Stack: Node 22 and TypeScript (Express), React and Vite, Docker. 89 server tests and 16 web tests, plus a browser check of the phone layout.
Challenges we ran into
- Neighbourhoods. Ranking by neighbourhood returned nothing for Lavapiés or Peckham (Logan Square and Brooklyn worked), so there Marquee ranks across the whole city and the page says so. When finding partner places, a neighbourhood still narrows the search, and the agent keeps only nearby addresses.
- Thin local data for niche titles, and little for new ones. In the samples, Qloo had city rankings for 9 of 10 bookable acts in Chicago, 6 of 10 films in Madrid, 5 of 10 jazz acts in London and none of a New York bookshop's 10 titles; Qloo ranked none of the ten 2025 releases we tried. We show a missing score as missing, never as a low one. Telling the model that a missing score isn't a low one was not enough: it kept holding back top taste fits with no local data under other words ("the slots went to acts that also scored in London"). So every title held back must now give one of a fixed set of reasons, each checked against the data: a weaker taste or city rank, an audience profile that fits worse, more fame than the room, an act already booked under another name. A title Qloo never scored is judged like any taste pick, and can be held only as Marquee's labelled judgement.
- Near-equal scores. Rankings often separate titles by less than 0.01. Marquee treats those as ties, says so, and builds confidence on agreement between taste and place rather than on decimal points.
- Our own evidence pipeline. Early on we cut long results off before the agent saw them, so it never saw that a ranking had come back empty, and it guessed at scores it could not see. Condensing each result instead of cutting it off fixed that.
Accomplishments that we're proud of
- A verdict on every title the venue can book: the question an owner is really asking.
- The hackathon brief's own test, "would this work the same without Qloo?", shown inside the product on every run, without using Qloo to grade the answer.
- Finding, with live data, that taste and place have to be asked separately, and building the product around that.
What we learned
Qloo earns its place on what a model cannot know: how titles land in a particular city, who their audiences are, how widely known an act is, and which local places share the taste. Marquee leans on Qloo for exactly those, and showing where the data stops (a neighbourhood that does not resolve, a title that is not ranked locally) makes the rest more convincing. We found this by testing, not assuming. For three sample venues, we hid one past hit at a time and asked Qloo, and Claude on its own, to find it from the other two. On well-known titles Claude did better: the hidden hit came up at a median rank of #2 against Qloo's #5 (mean 4.8 against 6.2, nine cases). Claude was also told the venue's city and type; Qloo got only the hits. So Marquee does not ask Qloo what is similar; it asks Qloo what only Qloo can answer, and checks the plan against those answers before showing it.
What's next
- Ticket sales from the venue's own box office, to learn which Qloo signals predicted its full houses.
- Seasons across several months, and shared programmes for small venue networks.
Built With
- anthropic-api
- claude
- docker
- express.js
- model-context-protocol
- node.js
- qloo
- qloo-mcp
- react
- typescript
- vite
Log in or sign up for Devpost to join the conversation.