TomGuard: AI-Powered Plant Disease Detection
Mobile App (Android)
Added Dec 26, 2025
KotlinPythonTensorflowExpress.js
Project Gallery
Project Documentation
TomGuard: AI-Powered Plant Disease Detection
Overview
TomGuard is a comprehensive full-stack application designed for automated detection and classification of diseases in tomato plants using Convolutional Neural Networks (CNN). The system addresses agricultural challenges by enabling farmers and agronomists to identify plant health issues through simple image capture.
The platform integrates three core components: a trained machine learning model, a native Android application, and a scalable cloud-based API infrastructure.
Key Features
| Feature | Description |
|---|---|
| Multi-class Classification | Identifies 10 distinct tomato plant diseases plus healthy plant classification |
| Cross-platform Input | Supports camera capture and gallery upload on mobile devices |
| Secure Authentication | User registration and login with encrypted credential management |
| Prediction History | Persistent storage of detection results for trend analysis |
| Profile Management | User account customization and settings management |
| Cloud-native Architecture | Containerized backend designed for horizontal scalability |
Technical Architecture
Machine Learning Model
| Component | Technology |
|---|---|
| Framework | TensorFlow, Keras |
| Language | Python |
| Environment | Jupyter Notebook for model development and experimentation |
| Architecture | Convolutional Neural Network (CNN) optimized for image classification |
Backend Infrastructure (Cloud Computing)
| Component | Technology |
|---|---|
| Runtime | Node.js with Express.js framework |
| Database | PostgreSQL with Sequelize ORM |
| Authentication | JWT-based token authentication with bcrypt password hashing |
| Object Storage | Google Cloud Storage (GCS) for image persistence |
| Deployment | Containerized via Docker, deployed on Google Cloud Run |
| Language | JavaScript (ES6+) |
Mobile Application (Android)
| Component | Technology |
|---|---|
| Platform | Native Android |
| Language | Kotlin |
| Architecture | MVVM (Model-View-ViewModel) |
Core Libraries
| Library | Purpose |
|---|---|
| Retrofit2 | Type-safe HTTP client for API communication |
| TensorFlow Lite | On-device machine learning inference |
| Glide | Efficient image loading and caching |
| ViewModel & LiveData | Lifecycle-aware UI state management |
| Room | Local SQLite database abstraction |
| DataStore | Preference storage for user settings |
System Architecture
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Android App │────▶│ Cloud Run │────▶│ PostgreSQL │
│ (Kotlin/TFLite)│ │ (Node.js API) │ │ (Database) │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│
▼
┌─────────────────┐
│ Google Cloud │
│ Storage │
└─────────────────┘
Disease Classes
The model is trained to classify the following conditions:
- Bacterial Spot
- Early Blight
- Late Blight
- Leaf Mold
- Septoria Leaf Spot
- Spider Mites (Two-spotted)
- Target Spot
- Tomato Yellow Leaf Curl Virus
- Tomato Mosaic Virus
- Healthy
Technologies Used
Machine Learning
- TensorFlow
- Keras
- Python
- Jupyter Notebook
Backend
- Node.js
- Express.js
- PostgreSQL
- Sequelize
- JWT
- Docker
- Google Cloud Run
- Google Cloud Storage
Mobile
- Kotlin
- Android SDK
- TensorFlow Lite
- Retrofit2
- Room Database
- Glide
