Inspiration

Promoting your music in a new city shouldn’t feel like shouting into the void. You’ve seen similar artists blow up in places you haven’t touched yet — so why can’t you?

Espionage was built by an artist, for artists, to answer that exact question. It maps out where your genre peers are already winning, digs into their audience demographics, and helps you clone their marketing playbook — so your next ad campaign, tour stop, or release strategy actually hits.

No guesswork. Just data, insight, and smart moves.

Espionage was born out of that need: a tool to let you piggyback on the shoulders of existing artists that fall under the same blanket as you. What can you learn about a known artist's fanbase, understand their demographics, and then clone that playbook for your own act?

What it does

Espionage is a music marketing intelligence platform that:

  • Lets you select a reference artist (e.g. radiohead)

  • Choose a target city or region with a broad query (e.g. London)

  • Generates a heatmap of the top 10 audience hotspots in that area

  • Retrieves real demographic and audience affinity data

  • Sends this data to an AI agent that returns ready-to-deploy ad campaigns for major ad vendors:

  1. Instagram

  2. Facebook

  3. YouTube

Each campaign includes:

  • Human-readable copy suggestions

  • Smart audience targeting (age, gender, interest, location)

  • Recommended daily budget

  • Suggested ad formats (Reels, Stories, In-Stream, etc.)

  • Geo-coordinates resolved to neighborhood/city names

In a future iteration, there will be a one-click campaign button that lets you automatically send out all posts with a single click from Espionage.

How we built it

Espionage is powered by:

  • Spotify API for reference artist metadata

  • Qloo for reference artist city-specific audience hotspots, affinity models, and demographic data

  • Leaflet to visualize the interactive map

  • OpenAI LLM to generate final structured ads and respond in JSON format

The TypeScript backend includes services that:

  • Cache hotspots and queries

  • Build a structured prompt for OpenAI’s gpt-4o model

  • Parse and validate the structured ad campaign JSON

  • The AI layer ensures campaigns are context-aware, visually coherent, and actionable.

Challenges we ran into

Geographic resolution I expected to be able to make a single call to Qloo to get extra filtering (e.g. location) on demographic data for an entity. For example, I wanted to pull specific demographic and affinity data for an artist in a specific location. But it seems demographic data is scoped to the entity and doesn't support narrowing down to specific locations at this time.

LLM consistency Ensuring structured JSON output that can be parsed without fail. I had to include strict instructions in the prompt like “no markdown wrappers, no commentary” and find a usable temperature.

Demographic normalization User data across sources varies wildly. We built weighted aggregation methods to balance and standardize input before passing it to the AI.

Performance Caching and debouncing location + artist queries to prevent unnecessary LLM hits.

Accomplishments that we're proud of

  • Built a fully functional plug-and-play ad campaign generator

  • Created an interface that feels less like a tool and more like a music industry superpower

  • Connected several parts of the Qloo API together and synced that with an LLM to build a single unit of functionality that doesn’t feel disjointed

  • As an artist, my friends and I will significantly reduce our misses with ad targeting using this tool

What we learned

OpenAI’s LLMs are powerful but require rigid constraints to behave predictably — specifying output format, behavior, and fallback logic is essential

Artists think in sound and culture, not numbers — wrapping data in human-readable context is the difference between useful and magical

Speed matters — when the entire process can be done in a minute, creative teams actually use the tool mid-session or during tour planning

What's next for Espionage

Multi-city tour planning: Generate ad sets across an entire tour route in one click

Card integration: One-click campaigns are charged directly from a funded card within Espionage. This also solves another problem, as many cards are often rejected by major ad vendors. We make the ad generation and execution process straightforward

Lookalike fan modeling: Upload Spotify/YouTube data and get inferred cultural twins across the globe

One-click campaigns: Push campaigns directly to Meta or Google Ads Manager APIs

Creator-facing reports: Share PDF and web summaries with artists so they understand the “why” behind the ad spend

Slack + Notion integration: Help internal label teams share and coordinate campaigns easily

Share this project:

Updates