Skip to content
Portfolio — 2026Bulawayo, Zimbabwe

Knowledge Mhodi

Research

000Founder · Researcher · Systems builder
KM

Bulawayo, Zimbabwe/ CAT

Founder · Researcher · Systems Builder

I turn complex information into tools people can decide with — a pan-African chess league, farm decision systems and a national cost-of-living index, built from research up.

Building → Africa Chess League — 17 federations

ResearchSystemsData pipelinesDecision supportProduct strategyAPIsStatisticsWeb platformsAI integrationOpen dataOffline-firstAccessibility

(01)Introduction

01AFCL

Chess players registered

02AFCL

African countries reached

03ZiMINDEX

Price observations indexed

04ZiMINDEX

Official indicators tracked

05GROW

Years of crop & climate data analysed

06Figshare

Research preprints published

Figures from the live products and papers, September 2026.

(02)Selected work

Each window scrolls the live site inside it — hover on a desktop, or just watch on a phone. Every capture comes from the production deployment.
01Live

Africa Chess League

One continent, one board — a pan-African chess league played on Lichess and settled on one table.

  • Platforms
  • Data & Research
Registered players
300+
African federations
17
Games recorded
8,858
Countries in one event
11
afcl.africa
Africa Chess League home page
02Live

GROW

Agricultural decision support that weighs every crop against your land, your water and your season.

  • AI & Decision Support
  • Data & Research
Provinces analysed
10
Of crop & climate data
24 yrs
WCAG AA colour pairings
39/39
Accounts needed to start
0
grow.co.zw
GROW home page
03Live

ZiMINDEX

“What will life actually cost me?” — a cost-of-living intelligence layer for Zimbabwe.

  • Data & Research
  • AI & Decision Support
Price observations
23,000+
Official ZIMSTAT indicators
336
Automated data collectors
8
Tariff points reproduced
7/7
zimindex.co.zw
ZiMINDEX home page
04Live

iNasi

Zimbabwe’s information portal — news, jobs, exchange rates, fuel prices and live radio in one place.

  • Media
  • Platforms
Daily essentials, one page
5
Live exchange rates
3
Live radio stations
6
inasi.co.zw
iNasi home page
05Live

Keid

Zimbabwe’s local marketplace — products and services right near you, free to list.

  • Marketplaces
  • Platforms
Categories
16
Ways to trade: shop, hire, ask
3
To list
$0
keid.co.zw
Keid home page

(03)Deep dive — Africa Chess League

Four public products share one identity layer and one backend. Lichess plays the chess; AFCL keeps the score, the ratings and the record.
afcl.africa
League — afcl.africa

League API

Fastify + MongoDB. Owns competition structure, scoring and derived standings.

Lichess sync worker

Polls results, rebuilds team scores and logs any drift from Lichess’s own.

News pipeline

Python scrapers for three African chess sources, twice a day, new stories only.

Open data

Participation, growth and rating distributions, published as they happen.

(04)Research & publications

Three preprints, each with its data in the open. The research is not a side project: it is how the products decide what to do next.
Preprint · 2026Figshare

Returning entrants by arena

A1A1697.5%

Africa Chess League: Design, Architecture, and Deployment of a Digital Chess Competition Ecosystem for Africa

4 mo

Of closed-beta testing before public launch

doi:10.6084/m9.figshare.33868843.v1
Preprint · 2025Figshare

Seasons with agricultural drought stress

28%Mat. SouthMash. East

From Agricultural Support to Climate Resilience: A Data-Driven Framework for Agricultural Investment in Zimbabwe

p = 0.96

No significant trend in seasonal rainfall (+0.18 mm/yr)

doi:10.6084/m9.figshare.33985987.v1

(05)Tech stack

Chosen for the constraint in front of me: a cheap phone, an expensive gigabyte, a free-tier budget, or data that must be traceable to its source.
Next.jsReactTypeScriptJavaScriptTailwind CSSAstroSvelteFramer MotionLottieD3VitePWANode.jsExpressFastifyZodJWTMongoDBMongoosePostgreSQLSupabaseSQLiteTursoDrizzle ORMFirebasePythonpandasNumPySciPyJupyterHugging FaceWeb scrapingVercelRenderCloudflare WorkersGitHub ActionsDockerGitVitestESLintLichess APITelegram Bot APICloudinaryGoogle IdentityLeaflet

Interfaces

12

Fast, accessible front ends that work on a cheap phone as well as a desktop.

  • Next.js
  • React
  • TypeScript
  • JavaScript
  • Tailwind CSS
  • Astro
  • Svelte
  • Framer Motion
  • Lottie
  • D3
  • Vite
  • PWA

Services & APIs

08

APIs that validate at the edge, refuse to boot on bad config and keep secrets server-side.

  • Node.js
  • Express
  • Fastify
  • Zod
  • JWT
  • REREST APIs
  • WeWeb Push
  • CrCron workers

Data stores

08

The right store for the shape of the data — documents, relations or a single SQLite file.

  • MongoDB
  • Mongoose
  • PostgreSQL
  • Supabase
  • SQLite
  • Turso
  • Drizzle ORM
  • Firebase

Research & AI

10

Reproducible analysis, and AI that is grounded in data and tested against refusal and injection.

  • Python
  • pandas
  • NumPy
  • SciPy
  • ststatsmodels
  • mamatplotlib
  • Jupyter
  • Hugging Face
  • LLLLM integration
  • Web scraping

Ship & verify

10

Free-tier-first infrastructure, automated jobs, and tests that run before anything ships.

  • Vercel
  • Render
  • Cloudflare Workers
  • GitHub Actions
  • Docker
  • Git
  • Vitest
  • PlPlaywright
  • ESLint
  • axaxe-core

Integrations

06

Third-party platforms wired in carefully — rate limits, caching and fallbacks included.

  • Lichess API
  • Telegram Bot API
  • Cloudinary
  • Google Identity
  • OpOpen-Meteo
  • Leaflet

Free-tier first

GROW, ZiMINDEX and Mbele are engineered to run on free infrastructure — without cutting corners on tests, security or accessibility.

Vercel, Render, Cloudflare Workers, MongoDB Atlas, Turso and Supabase — with byte budgets and contrast audits built into the tooling.

(06)How I build

Five rules I don’t break.

GROW · ZiMINDEX

Say what is not known

Where a price, a yield or a local condition is missing, the product says so. I would rather leave a gap than dress an estimate up as a fact — and I have removed features when the data could not support them.

Research-led

Evidence before features

I analyse the data first and design second. AFCL studies its own participation; GROW’s location-first approach came out of 24 years of provincial crop and climate records.

Performance

Bytes are money

In Zimbabwe a gigabyte can cost $43.75. Page weight is an access problem, so I build for a cheap phone on a bad connection first — offline queues, small fonts, no wasted requests.

AI with guardrails

Deterministic where it matters

AI can read and extract; decisions run on pure, testable functions. Every figure should expand into the steps that produced it, so anyone can check the arithmetic.

Product

Value before sign-up

People should get the answer before they are asked for an email address. Accounts exist for saving work, never as a gate in front of the useful part.

(07)Freelance

Available for freelance

Taking on a small number of freelance builds and research collaborations.

I take on a small number of projects at a time — platforms, data work and decision tools — for founders, NGOs, researchers and businesses who need someone to own the whole thing, from the question to the deployed product.

(08)Contact card

Flip it for a QR code that saves my details to your phone — or reach me directly.

knowledge.mhodi@afcl.africa LinkedIn GitHub

Bulawayo, Zimbabwe · CAT · UTC+2