Inspiration

Turning a film into a Broadway musical is a bet that can cost $20 million or more, and most bets lose. Since the pandemic, 46 new musicals opened on Broadway, costing about $800 million in total, and only 3 had turned a profit by September 2025 (The New York Times). The source film is usually picked on gut feel and fame.
Fame doesn't predict much. Big Fish, a famous film, closed on Broadway after 98 performances. Once, a small Irish film, ran 1,167.

So I asked a different question: do the people who buy musical tickets already love this film? That is a taste question, and taste is what Qloo measures. Before building anything, I tested it on 58 real shows (below). It held up, so I built the agent around it.
What it does
Try it: the live site | the demo run | the proof | how it works
A producer pastes the films they're weighing, in plain words. In 1 to 2 minutes, the agent:
- Matches each title to one exact film in Qloo, and says so when a title like Ghost is ambiguous.
- Scores audience fit: how much fans of 6 hit movie musicals love each film, placed against 58 past Broadway adaptations.
- Flags films Qloo already links to Broadway, so you check the rights first.
- For the winner, plans the launch: who the audience is, where to tour, who to cast, which brands and media to partner with.
- Writes a one-page greenlight memo where every claim points to the tool result behind it.
Example 1: eight films, one stage

Eight films go in: Clueless, Ghost, Groundhog Day, Notting Hill, Hidden Figures, The Princess Bride, Sister Act 2, The Wedding Planner. Notting Hill wins: strong fit, beating 97% of past adaptations, in the band whose past shows ran a median 565 performances. Groundhog Day comes last (beats 24%). The Princess Bride and Sister Act 2 are flagged as already linked to Broadway.

Each film also gets two past shows that scored like it, so a producer sees the comparison, not just a number: Notting Hill "scores like Legally Blonde (595 performances) and Meet Me in St. Louis (252)".
The launch plan

- Audience: leans female (+0.53) and under 30 (+0.13 under 25, +0.23 for 25 to 29), and shares Romance, Comedy, Heartwarming and Charming with musical fans.
- Tour: Tulsa, Philadelphia, Nashville and Birmingham, from where the audience over-indexes.
- Talent: performers like Michelle Dockery and Rachel Brosnahan, musicians like Adele and Michael Bublé, each with a Qloo affinity score (0.89 to 0.94).
- Partners: brands (Tommy Hilfiger, Calvin Klein), podcasts and TV shows this audience over-indexes on, for sponsorship and media buys.

The memo

The memo is written for an investor. It has 4 reasons, risks and next steps, and each reason names the tool it came from (score_films, audience_profile, tour_markets). It prints to PDF.
Example 2: when every option is strong

A second live run with the site's "date night" example: When Harry Met Sally, Crazy Rich Asians, 13 Going on 30, Sleepless in Seattle, Bridget Jones's Diary. All 5 land in the strong band (88% to 100%), which is what you'd expect from romantic comedies. The score still separates them: Bridget Jones's Diary beats all 58 past shows, and Sleepless in Seattle gets the Broadway flag.

Who it's for
- Commercial producers choosing their next adaptation. Optioning a film's stage rights and developing a show takes years; Overture gives a first read on the audience in 1 to 2 minutes, before money is spent.
- Rights holders and studios deciding which of their films to license for the stage. The same score tells them which titles musical fans already want.
- Investors reading a pitch. The memo puts the score, the band's median run (565, 148 or 116 performances) and the risks on one page, with the evidence behind each line.
- Touring presenters and marketers planning where to open and who to reach: the tour markets, talent and partner lists come from the same audience.
Design choices
- Bands, not raw scores. An affinity of 0.862 means nothing to a producer. "Strong fit, beats 97%, past shows in this band ran a median 565 performances" does.
- Flag, don't drop. A film Qloo already links to Broadway can score higher because of its stage version, so the agent keeps it in the list but marks it, instead of quietly hiding it.
- Show every call. The cue sheet lists all 26 Qloo calls with status and time, so a judge or an investor can see the agent didn't make anything up.
- A theatre, not a dashboard. Red curtain, poster billing for the shortlist, a stage-plot grid for the panels: it should feel like the industry it serves. Every page was checked on desktop and on a 390 px phone screen.
- One comparison per run. The "AI alone" button exists so anyone can test the claim that Qloo makes the answer better, on their own films.
Why it's better with Qloo
Every run has a button that asks the same model to rank the same films with no Qloo data. Gemini alone put Notting Hill 6th of 8, calling it "too low-stakes for a large Broadway house". It put Groundhog Day 3rd, a film that did get a Broadway musical, which ran 176 performances. The model alone has no numbers to check its opinion against.

| AI alone | Overture (with Qloo) | |
|---|---|---|
| Notting Hill ranked | 6th of 8 | 1st of 8, beats 97% |
| Groundhog Day ranked | 3rd of 8 | 8th of 8, beats 24% |
| Evidence | opinion from training data | measured affinity among musical fans |
| Tested against real outcomes | no | 58 Broadway shows |
| Tour cities, talent, partners | guesses | over-indexing markets and recommendations from Qloo |
| Rights check | none | flags films Qloo links to Broadway |
The proof: 58 Broadway shows
How the test was built
I took every Broadway musical adapted from a film from Wikipedia's categories (132 candidates), kept those that opened from 1985 to 2023, and left out the 8 whose stage version was itself filmed (Hairspray, The Producers, Mean Girls, The Color Purple, Sunset Boulevard, Mary Poppins, Spamalot, Moulin Rouge!), because fans of the stage film would lift the source film's score. That left 58. Every source film was scored with the same Qloo rank call the app uses.

What it found
- Fan-love score vs original run length: Spearman 0.42, permutation p < 0.001 (5,000 shuffles).
- Fame alone: 0.16. With fame removed, the score still holds at 0.40.
- Strong-fit third: median 565 performances. Middle: 148. Weak third: 116. That's 4.9x.
- 53% of strong-fit shows ran 500+ performances, vs 20% of the weak third.

It isn't the panel I picked
Two other musical-fan panels give 0.31 and 0.36. An action-movie-fan control gives -0.07. Any group of musical fans finds the signal; action fans don't, which is what you'd expect if the score measures musical-theatre taste.

How a new film lands on that scale
Qloo returned identical scores for the same film across separate batches, so a new film's score sits on the same scale as the 58. "Beats 97%" means its score is higher than 97% of the 58 source films; the band (strong, middle, weak) is the third it falls in, with that third's median run.
Two earlier ideas failed this kind of test (film taste by country, and predicting restaurant closures, AUC about 0.5). That's why I tested before building.
How I built it

The agent
Gemini (gemini-flash-latest, free tier) plans the steps and calls 7 tools through function calling. It may only state what a tool returned. If Gemini can't answer (my free credits ran out on October 24), the run switches to open-weight models on Groq's free plan (gpt-oss-120b, or gpt-oss-20b and Qwen when it's busy) and says so on screen. Smaller models sometimes tried to skip the research, so code now makes the agent call the audience, tour, creative and marketing tools before it may write the memo. In the demo run it made 26 Qloo calls in 7 steps, all shown live in the "cue sheet" with their status and timing.
Qloo, through the official MCP server
Every call goes through Qloo's qloo mcp server (from @qloo/qloo-harness), started on the server with the MCP SDK.

qloo_describe: resolve titles to exact entity IDs (other tools need IDs, or they returnneeds_input).qloo_rank: score the films against the musical-fan panel.qloo_entity_tags: themes, plus the "already on stage" check.qloo_audience_demographicsandqloo_compare_audiences: who the audience is and what it shares with musical fans.qloo_where_popular: where the audience over-indexes, rolled up to touring markets.qloo_recommend: performers, musicians, brands, podcasts and TV.
One request, redacted
Options are the producer's 8 films; signals are 6 musical-fan films (The Greatest Showman, Les Misérables, Mamma Mia!, La La Land, Chicago, Into the Woods).

qloo_rank { "option_type": "movie", "options": [8 film IDs], "signals": [6 film IDs] }
-> Notting Hill 0.862 -> beats 97%
Clueless 0.858 -> beats 93%
Groundhog Day 0.749 -> beats 24%
The app
Next.js 15 and TypeScript on Vercel's free tier, streaming each step as it finishes. The US tour map is drawn with d3-geo. Runs are saved to a private Vercel Blob store, so any run replays by link without new Qloo calls. Answers are cached, calls run one at a time, and live runs are limited to 4 per 10 minutes per visitor. The design is a "red curtain and stage plot": a cue sheet for the trace, poster-style billing for the shortlist. It works on a 390 px phone screen.
Setup: npm install, set QLOO_API_KEY, QLOO_BASE_URL and GEMINI_API_KEY (and optionally GROQ_API_KEY for the backup model), then npm run dev. Full steps in the README.
Data handling: keys stay on the server. Only film titles and public names go to Qloo. Results describe groups, never a person.
What this does not show

- 58 shows is a small sample. The score shifts the odds; it doesn't predict one show's result.
- Run length is a stand-in for success. Run lengths come from Wikipedia; long runs matched Wikipedia's long-running list (for example Billy Elliot 1,312 and Waitress 1,544), short runs weren't checked one by one.
- Qloo's data is recent, so it measures how fans feel about these films today, not on opening night.
- Touring leans on the musical-fan audience, so different films can share top markets: Tulsa led both example runs.
- Book, score, cast, budget, theatre and timing all matter. Overture covers one input: whether the audience is already there.
Challenges
- Leakage: shows that were filmed had to go, or the stage version lifts its own source film's score.
- Ambiguous titles: 2 of 8 titles in the demo run came back
needs_inputfromqloo_describe. The agent picks the likely film and says which one. - Older films: Qloo's location signals return nothing for older films, so touring comes from
where_popularon the audience instead. - Serverless: the full harness is 130 MB. I wrote a small launcher that starts the MCP server with one dependency so it fits in a Vercel function.
What I learned
Back-test against an outcome that is driven by liking, with no leakage, before building anything. The two ideas that failed looked just as good on paper.
What's next
Test on West End and touring runs, add grosses where they're public, let producers save a slate and compare runs, and score stage-musical ideas that aren't films (books, albums).
Log in or sign up for Devpost to join the conversation.