About

About gigcast

What a Booking Brief is, how cultural data grounds it, and where it stops being reliable.

Overview

What it is

Concert promoters often decide on gut feel: which city, which support act, which sponsor, which price. The data that would help is spread across ticket history, social numbers and local knowledge, and none of it says who the audience is or where they live.

gigcast turns an artist, a city and dates into a Booking Brief with eight parts: audience map, demand and fit, lineup, sponsors, venues and partners, pricing, risk panel, agent trace. Each claim is labeled grounded, inferred or no coverage. It is for promoters, talent buyers and venue bookers who need a first read on a market before they commit money, and want to see what each claim rests on.

  • Audience map
  • Demand and fit
  • Lineup
  • Sponsors
  • Venues and partners
  • Pricing
  • Risk panel
  • Agent trace

Data

Where the data comes from

Behind every brief is one affinity graph across artists, brands, places, localities and demographics: Qloo's Taste AI, reached through its API. One graph means a brief can answer "who likes this artist, where do they live, what do they buy, where do they go" with results that connect to each other. These are the endpoints the agent uses.

/search
Resolves artists, brands and localities to entities in the graph. A city picked on /new is pinned by its entity id, so "Panama City" does not drift to Panama City, Florida.
/v2/insights, filter.type=urn:heatmap
Geohash cells with affinity, popularity, quality and price-level dimensions. This is the audience map.
urn:entity:artist with signal.location
Lineup candidates that over-index in the city.
/v2/insights/compare
The shared tags behind a pairing of headliner and support act.
urn:entity:brand
Sponsor candidates, also filtered by the dominant age bucket.
urn:entity:place with filter.location and place tags
Venues, bars, hotels and restaurants near the heat.
urn:demographics
Age and gender affinities of the audience.
urn:tag
Tags for the artist and for the city, used for the taste match.
/v2/trending
The twelve-month trend for the artist.

Evidence

The three labels

  • Grounded

    Backed by a result in the taste graph; the entity id was returned by the cited tool call.

  • Inferred

    The model reasoned on top of grounded data; not itself a data result.

  • No coverage

    The taste graph returned nothing usable for this item or section.

The server checks grounded picks. An entity id must appear in a tool result of the same run, and a risk item must cite a url that the risk feed returned. A pick that fails the check is not shown as grounded.

System

Architecture

gigcast architectureThe browser talks to a SvelteKit server on Azure Container Apps, which runs Claude on Vertex AI with tools backed by the Qloo API. The server stores briefs and caches in Postgres on Neon. A scheduled job triggers ingestion of external news, holiday, weather and advisory sources.HTTP, SSEruntoolsread, writeingestingestBrowserSvelteKitMapLibre, EChartsSvelteKit serverAzure Container AppsSSE stream, run managerClaude on Vertex AITool runner: 12 Qloo tools,market_calendar, risk_feed,emit_briefCounterfactual run: no toolsQloo APITaste AI graphPostgres on Neonbriefs, runs, events, Qloo cache,news and classifications,holiday and weather cachesScheduled jobPOST /api/jobs/ingestExternal sourcesGoogle News RSS, local outletsNager.Date (holidays)Open-Meteo (weather)US State Department, UK FCDO

Provenance

Data sources

SourceWhat we takeTerms note
QlooTaste, heatmap, demographics, trending and entity data.Hackathon API access.
Google News RSSHeadlines and links.Never article bodies.
Local outlet RSS feedsHeadlines and links from local outlets per market.Never article bodies.
Nager.DatePublic holidays.Public API.
Open-Meteo ERA5 archiveHistorical weather and climate.CC BY 4.0.
US State Department, UK FCDOTravel advisories.Public.
OpenFreeMap tilesBase map for the heatmap.OpenMapTiles and OpenStreetMap attribution shown on the map.

We store headlines and links, never article bodies. Nothing is sent to sponsors.

Limits

Honesty notes

  • Affinity is an audience-overlap signal. It is not a ticket forecast.
  • Demographics are affinities relative to the general population, not headcounts.
  • Pricing is a heuristic, not a quote or a revenue forecast.
  • Risk classification is a model reading headlines. It is not a safety assessment.
  • Briefs are public read-only links. Anyone with the link can read the brief.

Built for the Qloo Agentic Hackathon

  • Grounded Backed by a result in the taste graph; the entity id was returned by the cited tool call.
  • Inferred The model reasoned on top of grounded data; not itself a data result.
  • No coverage The taste graph returned nothing usable for this item or section.

Taste data: Qloo ยท Reasoning: Claude on Vertex AI