No. 11of 22StationResearch
Farming assistant with leaf-disease detection
Raitha Mitra
A web app for farmers, built by a team of four. Photograph a leaf, and a small convolutional network I trained names one of 38 disease classes across 14 crops; the app then writes its advice in Kannada or English. It is live. Its accuracy has never been measured.
- When
- Sep – Nov 2025
- Status
- Live
- Team
- Team project: four RV University students with a faculty guide, per the project poster. The Devpost page lists three.
- Role
- AI and backend, as listed on the project poster. I trained the disease model, and all 12 commits in the final copy of the code are mine.
Progress
Progress75%
Live, with many working features. The disease model has never been evaluated, and the chat was on fallback templates when audited on 31 October 2026.
What comes next
- Evaluate the model on the 17,572 held-out images and publish accuracy, per-class scores and a confusion matrix.
- Restore the Gemini features, with keys kept out of the code.
- Add a way for the model to reject photos that are not leaves.
38
disease classes across 14 crops
Audit of the live app and repository, 31 October 2026Verified. Backed by a file or public page that has been checked.Audit of the live app and repository, 31 October 2026 — The project audit of 13 November 2026 counts the same 38 classes in the dataset.87,867
leaf images in the dataset: 70,295 for training, 17,572 for validation
A public image set derived from PlantVillage: leaves on plain backgrounds. The model was trained on the 70,295-image split.
Dataset folder of the first project version (crop_dataset)Verified. Backed by a file or public page that has been checked.Dataset folder of the first project version (crop_dataset) — Read in the project audit of 13 November 2026.155.6 → 25.9 MB
model file, before and after conversion to TensorFlow Lite
File size only. No serving speed was measured.
Model files in the final project copyVerified. Backed by a file or public page that has been checked.Model files in the final project copy — Read in the project audit of 13 November 2026.Not measured
classification accuracy
No training log, history or evaluation file exists anywhere in the project, so no accuracy figure is claimed.
Project audit of 13 November 2026; audit of the live app, 31 October 2026Verified. Backed by a file or public page that has been checked.Project audit of 13 November 2026; audit of the live app, 31 October 2026Exhibit 01 · Walk-through
From a leaf photo to a report in Kannada
Step 01
Photograph a leaf
The farmer opens Disease Detection, picks a language, and takes or uploads a photo of a leaf. The model reads it at 128 by 128 pixels.

The upload screen, October 2025. Step 02
The model names the disease
A three-block convolutional network picks one of 38 classes across 14 crops. In this saved report it chose cherry powdery mildew. The app also prints a confidence figure, cropped out here: it is the model's own score for one photo, not a measured accuracy, and no accuracy has been measured.

The head of a saved report, October 2025. The confidence bar below it is cropped out. Step 03
The report comes back in Kannada
The report lists symptoms, organic and chemical treatments and prevention tips in Kannada. One caution from the files: in the four saved reports these sections are word for word the same for cherry powdery mildew and for corn common rust. They show that the app writes Kannada, not that its advice is specific to the disease.

From a saved corn common-rust report, October 2025. App output, not agronomic advice.
Exhibit 02 · Scorecard
What is on record, and what is not
Everything measured about the disease model is a count or a file size. Its accuracy is not among them.
| Measure | Result | Note | Source |
|---|---|---|---|
| Leaf images in the dataset | 87,867 | 38 classes; a public set derived from PlantVillage. | Dataset folder, first project version |
| Training split | 70,295 | The images the model was trained on. | Dataset folder, first project version |
| Validation split | 17,572 | Held out. No saved evaluation on it exists. | Dataset folder, first project version |
| Model file as trained | 155.6 MB | Model files, final project copy | |
| Model file as served (TensorFlow Lite) | 25.9 MB | 83% smaller. File size only; no speed was measured. | Model files, final project copy |
| Saved app reports | 4 | Disease reports in Kannada from October 2025. Their symptom and treatment text is identical across two different diseases. | Report files written by the app |
| Classification accuracy | Not measured | No training log, history or evaluation file exists. | Project audit, 13 November 2026 |
01
What it is
Raitha Mitra means "farmer's friend" in Kannada. It is a Flask web app: photograph a leaf, a small convolutional network names the disease, and the app writes its report in Kannada or English. Around that sit a chat assistant, a farm planner, yield estimates, a finance-health score, weather, and a farmer map with messaging. Four of us at RV University built it in the autumn of 2025 and presented it as a poster at the university's AI SoCSE Day. It is live on a free hosting plan.
02
What was built
The disease detector is the part I trained: a custom three-block convolutional network with a 128 by 128 pixel input, covering 38 classes across 14 crops. The dataset is a public image set derived from PlantVillage: 87,867 leaf images, 70,295 for training and 17,572 held out for validation. Converting the model to TensorFlow Lite cut the file from 155.6 MB to 25.9 MB. Everything else that sounds like AI, the treatment advice, the chat, the farm plan and the yield estimates, is a prompt to Google's Gemini model. The app has about 60 routes, and accounts and records live in SQLite.
03
What was found
Two audits looked at this project. One, of the live app on 31 October 2026, found the classifier working, no way for it to say "this is not a leaf" or "I am not sure", and the Gemini features answering from fallback templates because their API key had been disabled. It lists ten Indian languages in the chat feature; the outputs on file are in Kannada and English. The other, of the project files in November 2026, found no training log, history or evaluation file anywhere, so this page states no accuracy. It also turned up a detail in the four saved reports: the symptom and treatment sections are word for word the same for cherry powdery mildew and for corn common rust. The app writes Kannada; those reports do not show disease-specific advice.
04
What I'd change
Run the model on the 17,572 held-out images and publish accuracy, per-class scores and a confusion matrix. That fixes the biggest weakness. Then test on real field photos, because PlantVillage-style images are leaves on plain backgrounds. Add a rejection path for photos that are not leaves, and restore the AI features with keys kept out of the code.
Figures



One question
The answer is on this page. Get it right and it goes in your passport on the map.
Challenge· stamped
The leaf-disease model was trained on 70,295 images. What accuracy did it score on the 17,572 held-out ones?
No training log, history or evaluation file exists anywhere in the project, so this site claims no accuracy. Source: the audit of the project files, 13 November 2026.
Show the answer
Nobody has measured it. No training log, history or evaluation file exists anywhere in the project, so this site claims no accuracy. Source: the audit of the project files, 13 November 2026.
- Stack
- Python
- Flask
- TensorFlow / Keras
- TensorFlow Lite
- Gemini 2.5 Flash
- WeatherAPI
- SQLite
- Tailwind CSS
- JavaScript
- Leaflet
- Gunicorn
- Render