Android · On-device machine learning
PlantDoc V1.0 — AI Plant Disease Detection Android App
A personal R&D Android app that classifies plant leaf diseases fully on-device with a TensorFlow Lite MobileNetV2 model — built with Kotlin and Jetpack Compose, with treatment guidance, a plant library, calculators and local history.

Overview
PlantDoc is a personal research and development project: an Android app that lets a grower photograph a plant leaf and get a likely disease classification, along with treatment information and care guidance.
Its defining constraint is that inference runs entirely on the device. The app does not need a network connection or a server to classify an image.
The problem
Plant diseases are easiest to manage when caught early, but the people who need help most are often in fields and gardens with unreliable connectivity. A useful tool should therefore:
- work offline, at the point of need;
- return results quickly on ordinary phones;
- explain what to do next, not just name a disease;
- keep a history so changes can be tracked over time.
My role
I designed and built the app on my own: the Android application in Kotlin and Jetpack Compose, the integration of the TensorFlow Lite model, the image input pipeline, and the supporting product features.
Technical approach
- Model: a MobileNetV2-based image classifier built with TensorFlow and converted to TensorFlow Lite for mobile deployment. MobileNetV2 was chosen because it is designed for efficient inference on mobile hardware.
- Input: images from the camera or the gallery are pre-processed to the model's expected input size and format before inference.
- Inference: classification runs locally through the TensorFlow Lite interpreter, producing a predicted class and a confidence score.
- UI: a Jetpack Compose interface presents the result, treatment information and care tips.
- Persistence: diagnoses are stored locally on the device, so history works offline too.
Key implementation decisions
On-device over cloud inference. Running the model locally removes network latency, works without connectivity, and means leaf photos never leave the user's phone. The trade-off is a size and accuracy budget set by mobile hardware, which is why a compact architecture like MobileNetV2 fits.
Show confidence, not certainty. Results are presented with the model's confidence score and phrased as a likely match, because an image classifier is an aid to judgement — not a laboratory diagnosis.
Pair predictions with practical guidance. A label alone is not actionable, so each supported disease links to treatment information, and the app includes fertilizer and pesticide calculators.
Key features
- Leaf image input from camera or gallery
- Offline, on-device plant disease classification
- Confidence score with each result
- Disease information and treatment guidance
- Plant library of supported crops
- Fertilizer and pesticide calculators
- Local diagnosis history
Status and limitations
PlantDoc V1.0 is a personal R&D project. It has not been independently validated for agricultural use, and no accuracy figures are claimed here. Its value is as a working demonstration of shipping a compact machine learning model inside a real mobile product.

