Navigate
Start a conversation

Nairobi, Kenya · Available for thoughtful work.

Applied AI / Agriculture

Plant Disease Detector

Bringing image classification onto the device.

TensorFlowTFLiteFlutterPythonDataset design

The problem

Most plant-disease demos die in the notebook. The interesting constraint was deployment: a mid-range Android phone, no reliable connection, and a user who needs a decision, not a probability.

I started from the budget — inference time, app size, and battery — then trained with quantisation in mind, verifying the exported graph against the same labelled sample rather than trusting the training split.

The datasets are public, the model is portable, and the app treats uncertainty as a first-class state.

What’s inside

38 crop classes on-device

A classifier trained across tomatoes, potatoes, corn, and fruit, exported to TFLite for offline inference.

Curated, documented datasets

Two published datasets — a 38-class field set and a 4-class rose foliage set — used to train and validate the model.

Offline by design

No upload, no round trip. A photo is analysed on the phone in a field with two bars of signal.

Advice, not just a label

The result screen leads with a next action and asks for a second photo when confidence is low.

What came out of it

  • Published: 38-class plant disease dataset (2 GB) and 4-class rose foliage dataset
  • TFLite export verified against a held-out sample after quantisation
  • Offline-first Flutter flow with confidence-aware guidance

View published datasets ↗

Next project