Skip to content
Kindling

How Kindling works

Kindling turns a venue's empty weeknight into a weekly club for people with the same taste. This page is for anyone who wants to check what is real, what is Qloo, and what is not claimed.

The problem, in numbers

The weekly loop

  1. Scout

    Reads your city's taste, the places within 1 km and your venue's crowd with Qloo.

  2. Design

    Proposes hidden clubs from that evidence.

  3. Verify

    Checks and scores each club with more Qloo calls.

  4. Produce

    Writes the kit: poster, run of show, listing, menu.

  5. Seat

    Seats guests by taste at check-in.

  6. Coach

    Reads the week and says keep, tweak or switch.

Then it goes round again. The same people come back, the Coach reads who came and who returned, and next week's plan changes because of it. That repeat is the point: friendships need hours together, and one night cannot give them.

The agent roles

Locator
Finds the venue on Qloo and reads its own tags.
Scout
A model-driven tool loop. It chooses which Qloo scans to run, widens the radius when data is thin, and records a reason for each call.
Designer
Proposes 6 to 8 clubs from the Scout's signal pool. Every club must cite things that are really in the pool, and anything else is dropped by code.
Verifier
Checks the top clubs with a coherence call and scores all of them with a fixed formula.
Producer
Writes the club kit. The playlist is picked by code from the pool, and a licence note is added whenever a text mentions screening a film.
Seater
Pure code. Weighted tag overlap decides who sits together, and nobody is left alone.
Coach
Fixed rules decide keep, tweak or switch from the real numbers. The model only writes the wording.
Baseline
Asks a plain language model the same question with no Qloo data, so you can compare.

Each stage is its own request and writes a plain-language trace, which is what you see on the run page.

What is Qloo, what is a language model, what is our code

Qloo
What the area loves, what is rising, which clubs fit together, each guest's taste vector, nearby places and the heat map.
The language model
Wording and creative choices: club titles, the kit text, the Coach's variant, and the comparison with no Qloo data. It never sees a guest's name or picks.
Our code
The club score, the seating, the keep, tweak or switch decision, the regulars count, the licence note and every check that a cited thing exists.

Every Qloo call, and why

All calls go through one client that paces them, retries once, caches them and logs each one. The counts below come from that log (459 calls so far), not from a script. The picks page shows the exact calls behind each score.

Qloo endpoints the app uses
StageEndpointAsks forWhyCalls
Locate/searchplaceFinds your venue on Qloo, so its own tags and crowd are known.21, 802 ms avg
Scout/v2/insightsfilm, music, TV, books, podcasts near the venueWhat people around the address love in each domain. Run twice per domain: the biggest names and the more local ones.143, 334 ms avg
Scout/v2/insightstags near the venueThe vibe of the area's places, used as the language of the neighbourhood.20, 676 ms avg
Scout/v2/insightsplaces like yoursVenues like yours nearby. Their tags describe the kind of crowd your venue draws.2, 3280 ms avg
Scout/v2/insightstrending entities near the venueWhat is rising in the area right now, which feeds the momentum part of the score.45, 411 ms avg
Scout/v2/insightsplaces near the venueNearby places that match the area's taste, to pair a club with a menu or a neighbour.20, 546 ms avg
Verify/v2/insightsscore listChecks that the anchor and its companions really belong together, with a separate call per club.41, 566 ms avg
Verify/v2/insightsheatmapWhere on the map the winning club's taste is strongest, for the heat layer.19, 1071 ms avg
Check-in/searchmusic, film, shows, books, podcastsAutocomplete for the three favourites a guest picks.104, 226 ms avg
Check-in/entitiesby idReads the tags of a guest's favourites. That becomes their taste vector for seating.30, 172 ms avg
Coach/entitiesby idReads the tags of the club's own theme, to measure how far the room has drifted from it.7, 1373 ms avg
Coach/v2/insightsentities near the venueThemes that sit next to what the room loves, for next week's fresh sub-theme.7, 721 ms avg

How far each signal reaches

Qloo reads film, music, TV, book and podcast taste for a whole city, so that part is the same for every venue in it. What makes a club fit your venue is the other two.

  • Your venue's crowd

    The tags Qloo holds for your venue and for venues like it. Different venue types have different crowds, so a brewery and a cafe get different clubs.

  • Places within 1 km

    The places around your door, with their categories. This is the most local thing Qloo gives, and it differs from one neighbourhood to the next.

  • Your city's culture

    What your city loves and what is rising there. It tells us which films, songs and books are worth building a club on.

The club score

A fixed formula, not a model's opinion. The weights are below, and each part comes with a reason and the Qloo calls behind it.

Parts of the club score
PartWeightWhat it measures
Fits your venue's crowd20%Scope: your venue's crowd. Whether the club's taste shows up in the Qloo tags of your venue and of venues like it. If your venue is not on Qloo, places of the same kind nearby stand in, and the page says so.
Fits places near you15%Scope: places within 1 km. Whether the places around your door carry the same words as the club, and whether the club uses one of them. The most local signal Qloo gives.
Loved in your city15%Scope: your city's culture. How strongly your city favours the anchor. Qloo reads this for the whole city, not the block.
Fits together15%Scope: the club itself. Whether the anchor and companions belong together, from a Qloo call.
Rising now10%Scope: your city. Whether it is trending.
Known but not too common10%Scope: your city's culture. Popular enough to draw a crowd, niche enough to feel like identity.
Right kind of night15%Scope: a rule for your kind of venue. How well the format suits it. Not a Qloo call.

Privacy

  • Guests give a first name or a nickname. No email, no phone number.
  • Qloo receives only entity ids, tag ids and coordinates. A guest's name never leaves our database.
  • The language model receives only numbers and tag names for a whole room, never a name or one person's picks.
  • A cookie recognises a returning guest only if they tick the box. It holds a random code, nothing else.
  • "Forget me" on the check-in confirmation deletes the guest and every check-in linked to them.

What it does not claim

  • Qloo's film, music, TV, book and podcast taste is city-wide. What makes a pick local is the places near the venue, the venue's own tags and the popularity band, and the evidence drawer shows which calls those were.
  • The sample venue is fictional and its four weeks are simulated, seated by the real seating code. Every page that shows them says so.
  • Trivia is drafted by a language model and marked "Check before use".
  • The free language model tiers are sometimes busy. When no model answers, the page says the wording came from a template. The numbers and decisions never depend on the model.
  • Showing a whole film in public needs a licence. The kit never plans a screening and adds a licence note if any text mentions one.

Source code and setup: https://github.com/sahil-makandar/kindling. MIT licence.