Gus, by Wanted
Gus is an always-on AI tour manager agent on Qloo's taste graph. He finds the cities that want your band, gets fans there to sign a WANTED poster, and books the venue.
Devpost submission text
Wanted
82% of indie artists can't afford to tour. Gus, an AI tour manager agent on Qloo's taste graph, finds the cities that already want you, gets fans to sign, and books the venue.
Why I'm building this
Most of what I listen to comes from artists with a few thousand monthly listeners, the ones three clicks deep on Bandcamp. I'm building this from India, for musicians in the US, so I started by listening to them: calls and DMs with independent artists, and every firsthand account of DIY touring I could find. Wanted is the tool that four-piece should have had: ask the fans first, then book the venue.
About the project
TL;DR
- Who it's for: the working middle of music. 81,100 artists generated $10k+ on Spotify in 2025, but 82% of indie artists say they can't afford to tour (Ditto, n=1,500). Live is their #2 income, and 64% of US independent stages lost money in 2024 (NIVA).
- What Gus is: an ambient agent. He works while the app is closed: scores every US city on Qloo, writes to venues, negotiates inside your limits, and decides on his own whether something deserves a Logbook line, a note or a phone call.
- Why Qloo: a plain chatbot's venues held up only 46% of the time across 8 cities. One was closed on Tuesdays, one was in Illinois. Gus can only name places a Qloo lookup returned.
- Why trust him: a harness we wrote ourselves, with a grounding check on every reply, money rules the model can't touch, and a rules fallback that says when it's answering.
- Try it: trywanted.vercel.app/a/maya-ortiz?tour=1, a 90-second tour, no sign-up.

Why it matters
| 81,100 | artists generated $10,000+ on Spotify in 2025: the working middle Wanted is built for, with fans in hundreds of cities. (Spotify Loud & Clear, via MBW) |
| 82% | of 1,500 independent artists say they can't afford to tour, and 3 in 4 never have. (Ditto) |
| #2 | Live shows are indie artists' second-biggest income, behind streaming, and most say they can't afford to reach it. (Ditto 2026, n=5,039) |
| $153.1B | Economic output of US independent stages in 2024, yet 64% of them lost money. (NIVA State of Live) |
A tour booked on a guess loses on both sides: the band plays to eleven people, and the venue eats a dark night. Gus replaces the guess with taste data, then proves it with real signatures before anyone books. Fans get the show in their own town. Wanted's fee comes from the venue on a booked night, never from fans.
Inspiration
A four-piece sold out a 200-person room in one city and played to eleven people two hours down the road, on the same tour. Same band, same songs. The only difference was where their fans lived, and nobody could see that before booking the night. Without an agent, picking cities means a streaming dashboard, a guess and a few hundred cold emails. One small venue in western New York counted 50 to 60 of those emails in a single week.
The fans are already out there. Nobody asks them. So Wanted started as a poster.
What it does
What's a WANTED poster? An Old West wanted poster turned around: instead of a reward for an outlaw, it's a city asking for a band. Gus puts one up where Qloo says your crowd lives. Fans sign it with their neighborhood. Every name is someone saying "come play here," and it checks the taste data against real people.

What Gus does on his own, as an agent:
| On his own | When you ask | Only with your yes |
|---|---|---|
| Scores every US city for your sound and flags sleeper cities | Answers by voice or text, showing each lookup as it runs | The deposit that locks in a date |
| Writes to venues at fifty signatures, skipping ones closed that night | Picks the night, the openers, the poster spots | |
| Negotiates inside your limits | Remembers how you tour ("we don't play Mondays") | |
| Picks how loudly to reach you: Logbook, note, question, card, call | Works inside Claude or ChatGPT over MCP |
The first time you open the app, he's already on a call, with an offer waiting and a show booked. You didn't start any of it.
Then he helps fill the venue: the fans who signed get first dibs on tickets, and he makes the posts for each moment, from the tour poster to the thank-you the morning after.
How we built it
Model, harness, context. The model reasons, the harness decides what it sees and what actually happens, and the context is what it knows. We trust the model least, so facts come from context and safety comes from the harness.
Context Qloo gives us. Heatmaps score every US city and its neighborhoods. Raw heat just follows population, so each city is compared against a 20-act panel:
$$\text{Wanted Score} = 0.6 \cdot \text{pct}(\text{heat}) + 0.4 \cdot \text{pct}(\text{heat} - \text{heat}_{\text{panel}})$$
Place insights with explainability and hours pick venues and poster spots. Demographics, podcasts, TV and brands describe the crowd. Artist insights and compare find openers.

The harness: ours, with no agent framework, on purpose. One loop of about 900 lines we can read end to end.
- Grounding: every city, venue and number in a reply must come from a lookup, his notes or you. If not, the reply is dropped and Gus lite answers from the same lookups, and says so.
- Budget: at most 4 rounds, 4 lookups in parallel, one 25-second budget.
- Injection: names from the web reach the model inside
<untrusted>tags, as data. - Privacy: a gate checks every outbound prompt for fans' details. Qloo and the model only see counts by neighborhood.
- Always on: a cron tick moves calls forward. How loudly he reaches you is decided in code from the stakes, the deadline and whether it can be undone. Quiet 10 pm to 9 am, one call a week at most.
Money never touches the model.
Each offer carries a hash of its exact terms. Your yes approves that hash only and mints a one-time pass. Paid once, even on a double tap. Stripe test mode; live keys are refused. No connector tool can pay.
The model: free Nemotron models on OpenRouter, tried in order, cached by prompt. Around it: Next.js 16 web, an Expo iPhone app on the same TypeScript server, libSQL on Turso, MapLibre and deck.gl, Fish Audio for his voice, and an MCP server.
Challenges we ran into
- Big cities win on raw heat. Comparing each city against a panel of other acts is what made the sleepers appear.
- Made-up venues. Early on the model confidently named rooms that don't exist. That's why the grounding check is strict.
- Evals found real bugs. "Portland Maine" resolved to Oregon. Gus didn't know a poster needs fifty names. He offered to ask a venue with no button to do it. Each became a case, then a fix.
- Free-model quotas. One graded eval run used a day's quota on every key. Gus now falls back to rules and says so.
Accomplishments that we're proud of
| Eval | Result |
|---|---|
| Asking Gus, live Qloo | 16 of 16: right lookup, fitting next step, short |
| Qloo vs a plain chatbot, 8 cities | 46% of the chatbot's venues held up |
| Agent gate, 12 policy scenarios | 12 of 12: no deposit without your yes on the exact terms |
| Unit and policy tests | 236 pass |
And it reads like an app for musicians: one number and a sentence on every screen.
What we learned
Taste data matters most exactly where a general model is most confident: which neighborhood, and which venue. Every fix our evals asked for landed in the harness or the context, never the model. And an agent that asks less gets trusted more, which is why Gus saves the phone call for when something is about to run out.
What's next for Wanted
TestFlight for the iPhone app. Thirty acts onboarded by hand in the Northeast and Midwest, with a person checking Gus's work. Paper posters in two cities. Five partner venues that answer Gus directly. Then the number that matters most: whether the shows sell.
How it was built
- Iteratively, one screen and one agent behaviour at a time, with Claude Code as a pair programmer and the evals in https://github.com/wafflebytes/wanted/tree/main/evals checking Gus between changes.
Try it out
- https://trywanted.vercel.app/a/maya-ortiz?tour=1
- https://github.com/wafflebytes/wanted
- Gus in Claude or ChatGPT: add
https://trywanted.vercel.app/api/mcpas a custom connector, no sign-i
Built With
- deck.gl
- expo.io
- fish-audio
- libsql
- maplibre
- mcp
- next.js
- openrouter
- qloo
- react
- satori
- stripe
- turso
- typescript
- vercel

Log in or sign up for Devpost to join the conversation.