Mukoko Kweli overview
kweli.mukoko.com is the public-facing renderer of the Mukoko geographic knowledge graph for Africa. Every venue in the graph — a national park, a restaurant, a school, a tech company, an NGO, a landmark, a government office — has exactly one canonical page. That page is the venue’s identity to the world: name, type, location with an inline map, hours, photos, operating organization, reviews, trust score, and verification badge.
Kweli means “truth” in Swahili. The trust score is the kweli — it travels with every entity across the whole Mukoko ecosystem. Kweli is also the ecosystem’s single venue-verification surface: sibling apps never build their own verification (see Cross-app verification).
Data model
Section titled “Data model”The graph lives in MongoDB. Every collection _id is a UUID string (not an ObjectId); every document carries _schemaVersion, createdAt, and updatedAt. Field names are camelCase and geo data is GeoJSON (geo: { type: 'Point', coordinates: [lng, lat] }) with 2dsphere indexes.
| Collection | Role |
|---|---|
places.places | The venue anchor — 15k+ documents across 21 countries. Name, slug, placeType array, address, geo, hierarchy (country/province), ownerEntityId, translations, media. |
places.placesGeo | Administrative geography — continent, country, province, city, town, village documents with ISO codes and GeoJSON centroids/boundaries. |
places.categories | The category taxonomy — 21 categories mapping categorySlug → schema.org @type(s). |
entity.entities | The owning organization node — every place has an ownerEntityId pointing here. |
Edges are ID fields on documents, not join tables: place → geography via hierarchy.countryId / hierarchy.provinceId, place → owning org via ownerEntityId, place → category via primaryCategoryId.
- Framework: Next.js 16 (App Router) with React 19
- Styling: Tailwind CSS 4 + shadcn/ui, themed with Mzizi mineral tokens (see Design system)
- Auth: WorkOS AuthKit — sealed httpOnly session cookie, hosted sign-in
- Data: MongoDB (the shared Mukoko knowledge graph); canonical writes go through the Mukoko platform API
Locales
Section titled “Locales”Three locales: English (en), Shona (sn), and Ndebele (nd). Locale is the first URL segment and is independent of country — /sn/zm/... browses Zambia in Shona.