doxa-maps/data/tables
doxa-maps-88655c70 22712eb43a The map said "someone still needs prayer" and gave you no way to pray
Its toast has always read "Tap a coloured dot — someone still needs prayer". Tapping one
showed Scripture, film, audio, video, stories, tracts and training, and no way to pray.
doxa.life publishes a page per people group and sibling plugins in this repo already link
to it; this map simply never did. 1,723 groups now carry a "Pray for <group>" action with
the number already praying beside it.

THIS IS THE ONE JOIN HERE THAT IS NOT BY LANGUAGE, and it needed justifying rather than
assuming. Every other source keys on ISO 639-3 because a translation serves everyone who
speaks the language; prayer does not work that way — you pray for a people, in a place. So
this keys on (group name, country), which is a NAME join, the thing this map refuses
everywhere else because names collide.

Allowed only because the key was tested first: on the API side (name, country) is
perfectly unique — 2,107 entries, 2,107 distinct keys, 0 collisions — and on the pin side
12,379 pins give 12,369 distinct keys. The ambiguous ones are DROPPED, not guessed. One
entry was lost that way, and 383 more have no pin here at all.

pray.doxa.life is the fourth host in this bundle that answers 200 with identical bytes for
any URL: /abai-sungai and /zzz-not-a-real-group are both 3,903 bytes. Rendered it does
discriminate — a real slug titles the page "Abai Sungai - App" with 1,863 characters, a
bogus one titles it "Doxa.Life" with zero — but existence comes from the API listing,
which is the publisher's own statement and costs one request rather than 1,723 renders.

The lookup is COMPUTED, not baked into groupAt. groupAt runs the instant a pin is clicked,
so a value read there is whatever had arrived by then and never updates when the lazy
fetch lands — the same shape as the link-verification state that used to hang off
openPin's country branch.

Verified with a negative control: a group in the index renders an anchor whose href
matches the expected slug URL exactly, and German, which is not in it, renders nothing.
My probe reported FAIL twice against correct code by waiting a guessed 900ms; it now waits
for the data. Screenshot read — the Lati, 2,900 people with nothing found in any pool, can
now be prayed for.
2026-09-24 16:06:01 +00:00
..
arclight-index.json Harvest the whole Arclight catalogue: film coverage 306 -> 2,087 languages 2026-09-24 04:08:30 +00:00
arclight-share-urls.json Give the film links a destination: 2,049 real per-language deep links 2026-09-24 06:09:11 +00:00
city-bridge-opportunities.json Data out of public/ (phase 2): posters + tables live in data/ 2026-09-16 01:37:52 +00:00
country-connectivity.json Data out of public/ (phase 2): posters + tables live in data/ 2026-09-16 01:37:52 +00:00
country-gap.json The gap by country is now a table you can export, not just a sheet you can read 2026-09-24 15:43:13 +00:00
deaf-gap.json The Deaf Gap tab was missing more than half the Deaf gap 2026-09-24 13:18:51 +00:00
door43-index.json Door43 spelled 32 major languages with two letters, so 2.87bn people saw none of it 2026-09-24 10:27:16 +00:00
ebible-index.json Name and scope every Scripture link, including the 24 on an older edition 2026-09-24 06:47:23 +00:00
fcbh-index.json Bible video from FCBH, with the real book scope on every link 2026-09-24 11:47:37 +00:00
gaps-and-opportunities.json Two curated tables stopped disagreeing with the map about what exists 2026-09-24 13:25:14 +00:00
godtools-index.json Gospel presentations in 94 languages, from Cru's API rather than its parked domain 2026-09-24 13:51:56 +00:00
gospel-access-vs-growth.json Data out of public/ (phase 2): posters + tables live in data/ 2026-09-16 01:37:52 +00:00
gospel-by-country.json Oceania is 51% unreached by group, and nothing on this map said so 2026-09-24 15:39:50 +00:00
gospel-gaps.json The Deaf Gap tab was missing more than half the Deaf gap 2026-09-24 13:18:51 +00:00
gospel-link-verification.json Gospel presentations in 94 languages, from Cru's API rather than its parked domain 2026-09-24 13:51:56 +00:00
gospel-resource-links.json A caveat naming three pools sat directly under rows from eight 2026-09-24 15:39:48 +00:00
index.json The gap by country is now a table you can export, not just a sheet you can read 2026-09-24 15:43:13 +00:00
internet-by-country.json Data out of public/ (phase 2): posters + tables live in data/ 2026-09-16 01:37:52 +00:00
iso-macrolanguages.json The two largest gaps on this map were Chinese varieties of a resourced language 2026-09-24 12:44:24 +00:00
key-cities-admin-n.json Public data ships without working notes; unused data files stay out of the drop-in 2026-09-16 20:16:08 -05:00
key-cities.json Data out of public/ (phase 2): posters + tables live in data/ 2026-09-16 01:37:52 +00:00
languages-by-country.json The bridge table was recommending bridges on stale resource flags 2026-09-24 15:55:58 +00:00
languages-per-city.json Data out of public/ (phase 2): posters + tables live in data/ 2026-09-16 01:37:52 +00:00
messaging-channels.json Data out of public/ (phase 2): posters + tables live in data/ 2026-09-16 01:37:52 +00:00
network-operators.json Data out of public/ (phase 2): posters + tables live in data/ 2026-09-16 01:37:52 +00:00
open-doors.json Public data ships without working notes; unused data files stay out of the drop-in 2026-09-16 20:16:08 -05:00
people-group-pins.json Gospel presentations in 94 languages, from Cru's API rather than its parked domain 2026-09-24 13:51:56 +00:00
people-group-resources.json Two curated tables stopped disagreeing with the map about what exists 2026-09-24 13:25:14 +00:00
platform-reachability.json Data out of public/ (phase 2): posters + tables live in data/ 2026-09-16 01:37:52 +00:00
pray-index.json The map said "someone still needs prayer" and gave you no way to pray 2026-09-24 16:06:01 +00:00
social-platforms.json Data out of public/ (phase 2): posters + tables live in data/ 2026-09-16 01:37:52 +00:00
zume-index.json Pashto: 47.6M speakers were told Zume had nothing, while its Pashto site was live 2026-09-24 09:37:56 +00:00