AgroAlchemy is a hybrid AI + cloud-based system built to support farmers with smarter crop decisions. It integrates ML models, a Flutter frontend, Firebase backend, and verified agri-data to deliver predictions and recommendations directly to the farmer's mobile device.
- Secure login and signup system using Firebase Authentication.
- Ensures each farmer accesses their personal crop data, prediction history, and suggestions.
- Predicts the most suitable fertilizer based on district soil data.
- Inputs: Nitrogen, Phosphorus, Potassium, pH, Temperature, Rainfall, Soil Color, Crop.
- Model: Trained Decision Tree using scikit-learn.
- Predicts expected crop yield and pesticide requirement based on:
- State, Season, Rainfall, Fertilizer used, Area.
- Output: Estimated Yield and Pesticide Quantity.
- Upload plant leaf images from the app.
- Output: Predicted disease name with confidence score.
- Trained on 13+ diseases for Tomato, Potato, Bell Pepper using transfer learning on ResNet18.
- Maps detected disease to recommended pesticide.
- Verified using authentic agricultural portals and expert sources.
- Tracks previous predictions and actions by year, crop, and location.
- Helpful for seasonal planning and comparing historical outcomes.
- In-app chatbot helps users interact with the app.
- Will soon integrate with ML API endpoints for real-time recommendations.
- Displays model performance (accuracy, loss).
- Interactive charts and example predictions.
| Layer | Stack |
|---|---|
| Frontend | Flutter (cross-platform mobile app) |
| Backend | Flask API |
| Database | Firebase Firestore (NoSQL) |
| Auth | Firebase Authentication |
| ML Models | Python (scikit-learn, PyTorch, Torchvision) |
| Deployment | Heroku + ML APIs; Firebase handles storage & auth |
# Clone the repository
git clone https://github.com/Tejas1234-biradar/PuneAgriHackathon.git
cd PuneAgriHackathon
# Backend Setup
cd server
npm install
# Python ML Setup
cd ../ml-models
pip install -r requirements.txt
# Flutter Frontend Setup
cd ../flutter_app
flutter pub get
flutter run