Final Year Project - GCUF 2026

The AI brain for
modern agriculture.

AgriGuard combines dual-stage deep learning with IoT soil sensors to give farmers instant disease diagnosis, treatment advice, and automated water management.

10

Supported crops

76

Disease conditions

EfficientNetB3 models

17

REST API endpoints

What it does

A single system covering the full workflow from disease identification to treatment and water management.

Disease Detection

Two-stage classification pipeline identifies the crop species first, then diagnoses the specific disease from 76 possible conditions.

Treatment Advisory

Returns pesticide name, dosage, spray interval, water dilution ratio, and safety notes from a database of 76+ verified records.

Soil Moisture Monitoring

Capacitive sensor on ESP32-WROOM reads analog moisture levels every 4 seconds, streamed to the mobile app via backend proxy.

Pump Control

Manual ON/OFF toggle or automatic mode that activates the pump below 30% moisture and deactivates above 70%. Failsafe defaults to OFF.

OTP Authentication

Email-based OTP for registration and password reset. Passwords hashed with bcrypt, sessions managed via JWT with 30-day expiry.

ESP32-CAM Capture

Field-mounted camera module captures leaf images on demand. Backend resolves device IP dynamically and proxies the connection.

Architecture

Four decoupled tiers communicating over REST and HTTP, deployed across cloud and edge.

Mobile App Express API MongoDB     Mobile App Flask ML
Express API ESP32 Hardware     Express API Brevo Email

Mobile App

React Native / Expo

GitHub Releases (APK)

Backend API

Node.js / Express

Render

ML Server

Flask / TensorFlow

Hugging Face Spaces

Database

MongoDB Atlas

5 collections

IoT Edge

ESP32-CAM + WROOM

Local network

Interface

React Native app with tab navigation, secure storage, and real-time device communication.

Scroll for more
Splash Screen
Splash Screen
Login
Login
Register
Register
Dashboard
Main Dashboard
Detect
Camera View
Analyzing
AI Scanning
Diseased
Disease Result
Healthy
Healthy Result
Irrigation
Pump Control
History
Scan History
Catalog
Crops Catalog
Profile
User Profile

Inference Pipeline

Two EfficientNetB3 models execute sequentially with confidence thresholds and a dynamic fallback mechanism.

Step 01

Preprocess

Image is resized to 300×300, converted to RGB, and pixel values normalized to 0–1 range.

PIL → RGB → 300px → /255

Step 02

Crop Classification

Model 1 identifies the crop species from 11 classes. Rejected if confidence is below 45% or classified as Unknown.

EfficientNetB3 • 11 classes • ≥0.45

Step 03

Disease Diagnosis

Model 2 diagnoses the disease from 76 conditions, filtered by detected crop. Dynamic fallback evaluates runner-up crops for edge cases.

EfficientNetB3 • 76 classes • ≥0.35

Step 04

Result & Advisory

Returns crop name, disease, confidence score, and health flag. Backend fetches matching pesticide advisory from MongoDB.

{crop, disease, confidence}

Stack

React Native
Mobile app
Expo 54
SDK & tooling
Node.js
Backend runtime
Express.js
REST API
TensorFlow
Deep learning
Flask
ML server
EfficientNetB3
CNN model
MongoDB
Database
ESP32
IoT hardware
JWT + bcrypt
Authentication
Render
Backend hosting
Hugging Face
ML hosting

Try AgriGuard

Download the APK, photograph a leaf, get a diagnosis.