Skip to content

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).

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.

CollectionRole
places.placesThe venue anchor — 15k+ documents across 21 countries. Name, slug, placeType array, address, geo, hierarchy (country/province), ownerEntityId, translations, media.
places.placesGeoAdministrative geography — continent, country, province, city, town, village documents with ISO codes and GeoJSON centroids/boundaries.
places.categoriesThe category taxonomy — 21 categories mapping categorySlug → schema.org @type(s).
entity.entitiesThe 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

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.