pgx
PGX — Lightweight Postgres for AI agents. Written in Rust. Thousands of isolated databases in one runtime. 🐘
Translation pending
An attempt to build a de facto map of the world (what state/armed group actually controls an area).
Translation pending
DataJavaScript · PythonGitHub @BluedichOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Loading the full README. The saved excerpt is shown below.
Goal: a world map showing which state or armed group controls each area.
Current stage: base map lab – a web app to compare rendering libraries and base datasets before
building the control layer. See docs/basemap-options.md for the comparison.
The URL hash stores library, base map, overlays and view, so a configuration can be shared as a link.Read the full README ↗Goal: a world map showing which state or armed group controls each area.
Current stage: base map lab – a web app to compare rendering libraries and base datasets before building the control layer. See docs/basemap-options.md for the comparison.
npm install
npm run dev # http://localhost:5173
npm run build # static site in dist/
The URL hash stores library, base map, overlays and view, so a configuration can be shared as a link.
Google Analytics (GA4) is included only in production builds. The measurement ID is set in .env.production (VITE_GA_MEASUREMENT_ID); remove or change it there, or override it for one build with VITE_GA_MEASUREMENT_ID= npm run build. Besides page views it sends select_library and select_basemap events.
src/adapters/)Datasets are defined once in src/catalog.js; each adapter translates them to its library.
public/data/*.geojson are slimmed Natural Earth layers (public domain), regenerated with npm run data.
Third-party tile services have their own terms; see attribution in the map and notes in the docs.
The control layer marks, for each place, the group or institution that holds the monopoly of violence (or close to it) most of the time.
exclusive, dominant, contested, unclear), a confidence
(high, medium, low), the basis (specific report, area report, default state presence, inference),
other armed actors present, sources, and the date it describes.Data lives in data/drc/; scripts in scripts/drc/ (Python 3, pip install shapely rasterio numpy).
| Step | Script | Output |
|---|---|---|
| Download raw data (gitignored) | scripts/drc/fetch_raw.sh | data/drc/raw/ |
| Settlements ≥ 1000 people, cities ≥ 100k split by health area | scripts/drc/build_locations.py | data/drc/locations.csv |
| Swarm work units (one per territory/ville, large cities split) | scripts/drc/make_units.py | data/drc/units/*.json |
| Agent assessments | agent swarm (see scripts/drc/agent_prompt.md) | data/drc/assessments/*.json |
| Build SQLite DB | scripts/drc/build_db.py | data/drc/defacto.sqlite |
| Map overlay + click details | scripts/drc/export_geojson.py | public/data/drc-control.geojson, public/data/drc-details/ |
Sources: GRID3 COD settlement extents v4, settlement names v9 and population v4.4 (100 m), OCHA COD-AB admin boundaries, GeoNames for well-known town names. Settlement population is the sum of 100 m population cells falling in each GRID3 settlement extent.
First run (as of 2026-10-01): 177 units, one research agent each plus a reviewer for the conflict provinces
(Nord-/Sud-Kivu, Ituri, Tanganyika, Maï-Ndombe, Kwango, Kwilu, Haut-Uele). Most rural assessments rest on
default state presence or territory-level reports, so confidence is mostly low/medium outside the east;
agent-added entities are flagged needs_review.
Database tables (scripts/drc/schema.sql): entity (controllers, with parent_id for sub-forces and a colour),
admin_unit, location, control_assessment (controller, sovereign = top-level parent, status, confidence,
date, evidence), assessment_presence (other actors present), source, assessment_source, run;
view v_current_control gives the latest assessment per location.
Clicking a point on the map (any library) opens a panel with everything recorded for that place: location data
(admin units, health zone/area, population, GRID3 extent, other names), every assessment (controller, sovereign,
status, confidence, basis, since, other actors, zone, evidence, sources, unit summary) and the entities involved.
The panel loads the territory's file from public/data/drc-details/<adm2 pcode>.json (plus index.json for
entities and admin names) on demand.