Zemi-Aku Qloo Agentic Hackathon · October 2026

Puerto Rico's 78 towns, read through taste.

Zemi-Aku catalogs all 7,717 places Qloo knows across the island, sorted by what they are. Ask about any town and it answers only from those records: the places, who likes them, and where that taste gathers.

Puerto Rico's 78 municipalities, coloured by how many places Qloo knows in each
Fig. 1 — How many places Qloo knows in each municipality: every page Qloo returns for each town, 7 October 2026. From 1,353 in San Juan to 4 in Maricao. Click a town to open it. 200 or more100–19925–99under 25
What Qloo brings

Take Qloo away and the island is blank.

Every place on the map comes from Qloo, and so does every taste it can search and every "who likes it" chart. Zemi-Aku's job is to ask Qloo the right question for the town on screen, then say only what comes back. Seven kinds of call do the work.

Qloo callAskedCame backOn screen
/v2/insights placePonce, Puerto Rico, every page357 places over 9 pages, each record 41 fields and its tags; 7,717 across the 78 townsThe town's catalog in ten categories, and its pins
/v2/insights heatmaprestaurant taste around PonceA grid of cells, each with an affinity from 0 to 1; the map draws up to 80The orange glow where that taste gathers
qloo_find_tags"mofongo"specialty_dish:place:mofongo, plus a cuisine and a food tagYour words turned into something Qloo can filter on
/v2/insights filter.tagsthat tag, all of Puerto Rico6 places that list it: Cayo Caribe, Tayzan, Rompeolas…An answer to "where can I eat mofongo?"
/search"KFC" around San Juan13 locations, all KFCSearches by name or chain, in the language of the sign
qloo_audience_demographicsCampioni, by its Qloo id30–34 +0.65 · 35–44 −0.88 · women +0.29, against Qloo's average"Who likes it", on every business
qloo_where_popularCampioni, by its Qloo id20 cells across the islandThe violet footprint: where that place's taste reaches

Fig. 2 — Seven Qloo calls, run 7 October 2026. The first five answer questions; the last two open a business. The three qloo_* calls go through Qloo's official agent kit over MCP.

{
  "name": "Campioni Pizza Birra & Tapas",
  "entity_id": "E78D2122-8843-4FCB-858F-104217DB725F",  [1]
  "popularity": 0.957,                                  [3]
  "properties": {
    "geocode": { "name": "Quinto",
                 "admin2_region": "Ponce" },            [2]
    "business_rating": 4.5,                             [3]
    "price_level": 2,                                   [3]
    "short_description": "Casual Ponce eatery pairing
      pizza with tapas, craft beer, cocktails…",        [4]
    "unique_selling_points": "…gourmet, artisanal
      pizzas baked in a traditional wood-fired oven…",  [5]
    "keywords": [ { "name": "sangria", "count": 39 },
                  { "name": "chorizo", "count": 17 },
                  { "name": "wood oven", "count": 12 },
                  … ],                                  [6]
    "ambience_description": "…elegant yet relaxed…",    [7]
    "images": [ "https://lh3.googleusercontent…" ],
    … 33 more
  },
  "tags": [ "Families", "City core", "Walkable",
            "Ponce historic zone", … 121 more ]         [8]
}
  1. 1entity_id is the key for every follow-up call. Looked up by name instead, "Plaza Las Americas" came back as two malls in Mexico.
  2. 2admin2_region is the municipality. name is the barrio, Quinto. Reading the wrong one moves a business to the wrong town.
  3. 3Popularity sets the order of the list; the rating and price print as ★ 4.5 and $$.
  4. 4The line under the name.
  5. 5"Why people go", the first thing the card says.
  6. 6"People mention", ranked by how often reviews say it.
  7. 7"The feel". Five more of Qloo's descriptions sit under "More from Qloo": setting, amenities, food, service and who comes.
  8. 8How a taste search finds it. This record carries 125 tags.
  9. —images are Google links that answer 403 to anyone else, so the card shows an aerial of the exact spot instead.
Fig. 3 — One Qloo record, abridged: Campioni Pizza Birra & Tapas in Ponce, from /v2/insights on 7 October 2026. 41 fields, 28 filled, and the card reads 22 of them.
The product

A god's-eye map you can talk to.

Pick a town, type a question or press the orb and speak it. The map flies there and the town opens to everything Qloo knows in it, sorted into categories: Ponce has 240 places to eat, 47 to shop and 16 to stay. Every business opens to the facts Qloo holds on it, including who likes it.

Zemi-Aku showing Ponce on satellite: all 357 places Qloo knows, sorted into ten categories, with Food open and its kinds, and the food places pinned on the map
Fig. 4 — Ponce opens to all 357 places Qloo knows there, in ten categories. Food is open: 240 places by kind, bakeries to Puerto Rican restaurants, pinned on the map.
The same town on a phone
Fig. 5 — On a phone.
Campioni Pizza in Ponce: Qloo's description, price, today's hours, sourced contact lines, and who likes it by age and gender
Fig. 6 — One business, opened: an aerial of its exact spot, Qloo's description, why people go, and what they mention. Further down: the sources and who likes it.
On your iPhone

Want it on your phone? Ask for the test build.

An iPhone version is on its way to TestFlight, Apple's app for trying apps before they launch. Leave your name and email and we'll send your invite when the build is ready. Today you can already add the live map to your home screen from Safari: Share, then Add to Home Screen.

We use it only to invite you through Apple's TestFlight. Nothing else, and it is never sold.

How it works

Ask, read, answer. Nothing is invented.

The agent never answers from memory. It reads Qloo records for the town on screen and says only what they hold. When Qloo knows a town only a little, it says so.

Ask

Type, or talk in English, Spanish, French, Italian or German. Town names are passed to the speech model so "Mayagüez" stays Mayagüez.

Read

The server pages through every place Qloo holds for the town, turns words like "surf" or "mofongo" into Qloo taste tags, and pulls a business's audience and footprint.

Answer

The answer names the places it used. The voice speaks it, the map flies to them, and the record behind every answer is one click away.

System: the browser talks to one Node server, which calls Qloo, Deepgram and open data Browser Cesium map · Esri tiles Ask bar · search The orb · mic · speaker No keys here Node server one container, Node 22 /api/ask answers /api/taste word → tag /api/place audience, footprint /api/places a town's list /api/speak voice /api/listen live speech (WS) rate limits · daily caps all keys stay here Qloo official kit, over MCP: qloo_find_tags qloo_audience_demographics qloo_where_popular REST: insights · search · heatmap Deepgram Aura-2 voices · 10 of them nova-3 live speech-to-text Open data OpenStreetMap · Wikidata Wikipedia · Wikimedia Commons HTTPS · WebSocket
Fig. 7 — The system. The browser never holds a key; every call to Qloo, Deepgram and open data goes through the server.
The data

What the agent can see.

Five record types. Town catalogs are harvested from Qloo and kept on the server; the rest are read live. No accounts and no personal data: Qloo results describe audiences in aggregate, never a person.

Place

Qloo /v2/insights · one per business

FieldMeaningSource
idQloo UUID, used for every follow-up callQloo
municipalitygeocode.admin2_region, the real townQloo
descriptionQloo's own one-line summaryQloo
price · ratingprice_level 1–4, business_ratingQloo
descriptions × 7why people go, the feel, setting, amenities, food, service, who comesQloo
keywordswhat reviews mention, with countsQloo
hours · phone · webtoday's hours, contactQloo · OSM
picturea public photo, else an aerial of the exact spotWikidata · Esri
socialswhen the place has a public recordWikidata
phone · web · emailfilled in when Qloo has none, matched by name within 300 mOverture

Town catalog

Every page of /v2/insights per town · data/catalog-counts.json

FieldMeaningSource
townone of 78 municipalitiesCensus
totalplaces whose municipality is the townQloo
categories × 10food, shopping, places to stay…, from each place's genreQloo · derived
band200 or more, 100, 25, or fewer placesderived

Audience

qloo_audience_demographics · per business

FieldMeaningSource
age × 624 and under … 55 and overQloo
gender × 2women, menQloo
valueabove or below Qloo's average audienceQloo

Footprint · Taste

qloo_where_popular · qloo_find_tags

FieldMeaningSource
cells ≤ 20where a business's taste is strongestQloo
affinitystrength of each cellQloo
tag"surf" → hobby:surfingQloo
strictplaces that list the tag, firstQloo
What we measured

Things Qloo's Puerto Rico data taught us.

Each one changed the build. The evidence line is the measurement behind it.

Never look a place up by name.

"Plaza Las Americas" by name returned the malls in Ecatepec and Cancún. Every follow-up call uses Qloo's own id instead.qloo_describe, 7 Oct: two Mexico candidates, no Puerto Rico match

The printed city is often a barrio.

La Muralla China prints Coto Laurel as its city. Qloo's admin2_region says Ponce. Read the wrong field and a Ponce restaurant becomes a neighbor's.geocode.city "Coto Laurel" · geocode.admin2_region "Ponce"

A dish needs a filter, not a signal.

Asked to rank by mofongo, Qloo returned a supermarket and a Mexican restaurant. Filtered to places tagged mofongo, it returned six that serve it.signal: SuperMax, Lolita's · filter.tags: Cayo Caribe, Tayzan, Rompeolas…

Search in the language of the sign.

Puerto Rico names its businesses in Spanish. Near Caguas, "farmacia" finds 13 places and "pharmacy" finds none, so the search uses the words as spoken./search within 12 miles of Caguas, 7 Oct

A five-place sample hid most of the island.

Sampling five places a town, eight towns looked thin. Paging through everything Qloo holds told a different story: Cabo Rojo has 169 places and Toa Alta 63, and of the eight only Ceiba, with 15, is small. The map now counts every place. Eleven towns have fewer than 25, and the agent says so when you open one.Every page of /v2/insights for all 78 towns, 7 Oct 2026: 7,717 places. San Juan alone: 1,353 over 37 pages.

Limits

What it does not claim.