How I Built an AI-Based Plant Disease Detection App
Farmers and growers often lack a fast, accessible way to identify diseases affecting their plants, fruits and vegetables before they spread. The idea behind AgroAnalyse: a photo, an analysis, a diagnosis.
The technical choice
React Native with Expo (SDK 54) and TypeScript, React Navigation for screen navigation,
expo-camera and expo-image-picker for photo capture, a natural fit for an app whose core job
is "take a photo to analyze it." No backend server: analysis history is stored locally on the
device via AsyncStorage.
For the analysis itself, rather than training and hosting an in-house model (which needs data, training time, and infrastructure to maintain), the app sends each photo to Google's Gemini 2.5 live. The trade-off: a huge amount of development time saved and a genuinely capable model, against a dependency on a third-party service and its response time.
The current flow
Bilingual FR/EN onboarding, photo capture (camera or gallery), live analysis by Gemini, a result screen with a health verdict and a confidence score (for example "98% confidence"), a detailed diagnostic description available on request, and a full history of past analyses kept on the device.
The real challenges
Two concrete problems, still open today:
- Getting a reliable diagnosis even from a blurry photo. The real world doesn't hand you a studio-quality shot, and the model has to stay useful even with an imperfect image.
- Keeping response time fast enough for the experience to feel smooth, when the analysis depends on a network call to an external model rather than an instant local computation.
Where the project stands
AgroAnalyse is still in developer testing, deliberately not presented as a finished commercial product. That's a conscious choice: better to ship an app that genuinely works on the cases it handles well, and keep improving it, than to call it finished too early.