Downloads · 30 days
0
bhargavvz/Aquasafe
Aquasafe is a machine learning model from bhargavvz. Use it for the machine learning task on the model card, and read the license before you ship it in a product.
A full-stack mobile health platform that uses gradient-boosted ensemble models to predict waterborne diseases, assess water quality, forecast outbreak risk, and evaluate sanitation conditions across India.
Downloads · 30 days
0
Access
Public
Updated Mar 30, 2026
Repo size
1.4 GB
Likes
0
Public
Click a slice to open those files.
.csv1.1 GB · 75%
From the Hugging Face model README
A full-stack mobile health platform that uses gradient-boosted ensemble models to predict waterborne diseases, assess water quality, forecast outbreak risk, and evaluate sanitation conditions across India.
├── app/ Flutter mobile application (cross-platform)
├── backend/ Flask REST API with JWT auth & ML inference
├── ML/ Model training pipeline, dataset, and plots
├── doc/ IEEE research paper (LaTeX)
└── README.md ← you are here
Each subdirectory has its own README.md with setup instructions.
| Model | Task | Algorithm | Key Metric |
|---|---|---|---|
| Disease Classifier | 8-class classification (7 diseases + No Disease) | XGBoost + LightGBM weighted ensemble | 95.19% accuracy |
| WQI Predictor | Water Quality Index regression | XGBoost Regressor | R² = 0.886 |
| Outbreak Risk | Binary outbreak prediction | LightGBM | AUC-ROC = 0.9997 |
| Water Safety | 3-class water safety (Safe / Moderate / Dangerous) | XGBoost | 99.25% accuracy |
| Sanitation Risk | Sanitation risk score regression | XGBoost Regressor | R² = 0.787 |
Cholera · Typhoid · Dysentery · Giardiasis · Hepatitis A · Hepatitis E · Leptospirosis
┌─────────────────────┐
│ Flutter Mobile App │ ← User-facing UI (19 screens)
│ (Dart / Riverpod) │
└────────┬────────────┘
│ HTTP + JWT
┌────────▼────────────┐
│ Flask REST API │ ← Authentication, validation, inference
│ (Python / Gunicorn)│
└────────┬────────────┘
│
┌────────▼────────────┐
│ ML Models (joblib) │ ← 5 pre-trained models loaded at startup
│ PostgreSQL (users) │
└─────────────────────┘
cd ML
pip install -r requirements.txt
python train_models.py
cd backend
pip install -r requirements.txt
# Set DATABASE_URL or use the default PostgreSQL connection
python app.py
cd app
flutter pub get
flutter run
Update the API base URL in
app/lib/core/api_service.dartto point to your running backend.
5.25 million synthetic records calibrated against real-world Indian epidemiological data (CPCB, IDSP, Census of India). Covers all 36 states/UTs, 615+ districts, 40 features spanning geography, water chemistry, sanitation, climate, demographics, and clinical symptoms.
See ML/Dataset-info.md for the complete data dictionary.
| Layer | Technology |
|---|---|
| Mobile App | Flutter 3.9+, Dart, Riverpod, fl_chart, flutter_map |
| Backend API | Python 3.10+, Flask, Gunicorn, PostgreSQL, PyJWT |
| ML Training | XGBoost, LightGBM, scikit-learn, pandas, matplotlib |
| Model Serialization | joblib |
| Authentication | JWT (7-day expiry), salted SHA-256 password hashing |
The accompanying IEEE-format paper is in doc/research_paper.tex. It documents the methodology, dataset construction, model architecture, and experimental results.
This project is developed as an academic major project. See individual component READMEs for details.