Check feasibility β’ Explore analytics β’ Monitor projects
Problem Statement by: Ministry of Jal Shakti (MoJS) Β· Central Ground Water Board (CGWB)
Category: Software Β· Theme: Smart Automation
AquaBytes is a SIH-selected full-stack web & mobile application that empowers citizens and communities to assess Rooftop Rainwater Harvesting (RTRWH) and Artificial Recharge (AR) potential β right from their smartphone or browser.
By entering simple inputs like location, roof area, population, and budget, users get personalized, GIS-powered feasibility reports with dimensions for recharge structures, cost estimates, and real-time water risk intelligence.
The platform pairs a live IoT sensor network (ESP32-based) with ML-driven water quality analysis to give users an end-to-end picture of their water situation β from the sky to the tank.
| Home Screen | Tools Available |
|---|---|
![]() |
![]() |
| Water Quality / WQI | IOT in Action |
|---|---|
![]() |
![]() |
| App in Action | Possitive Response as Result |
|---|---|
![]() |
![]() |
Designing and development of an application for on-spot assessment of Rooftop Rainwater Harvesting (RTRWH) and Artificial Recharge potential and size of the RTRWH and AR structures.
Despite CGWB publishing detailed manuals on RTRWH, no user-friendly digital platform existed for individuals to directly assess their harvesting potential. AquaBytes fills that gap.
Enter your location, roof area, number of dwellers, available open space, and budget to get:
- Estimated rainwater collection volume
- Recommended RTRWH / Artificial Recharge structure type
- Dimensions of recharge pits, trenches, and shafts
- Cost estimation and cost-benefit analysis
- Principal aquifer information for the area
- Depth to groundwater level
- Local rainfall & runoff data
Tells you how efficiently to use your stored water based on upcoming rain:
- Current tank level and capacity
- Household consumption vs. need
- 7-day rainfall forecast (live weather API)
- Real-time sensor data (pH, TDS)
- ML-predicted water risk score & actionable recommendations
Analyze water quality via live IoT sensor feed or manual input:
- pH, TDS, Turbidity, Temperature, Dissolved Oxygen
- Water Quality Index (WQI) calculation with safety category
- Microbial risk classification (ML model)
- Heavy metal risk classification (ML model)
- Irrigation suitability verdict
- Historical readings and alert management
Uses sensor history and system data to predict:
- Maintenance risk level
- Contamination probability
- Water scarcity forecast
Powered by Google Gemini, Elsa is a domain-specific assistant:
- Answers questions about water harvesting, recharge, and feasibility
- Remembers your latest survey for personalized advice
- Responds in the user's native language automatically
- Regional rainfall trends with interactive charts
- India groundwater map with district-level data
- Historical water quality trends per device
- CGWB manuals and scientific reports
- Practical guides on RTRWH
- Web tools: Feasibility Calculator, Risk Predictor, Water Quality Check
AquaBytes supports 23 Indian languages out of the box, ensuring accessibility across the country:
English Hindi Bengali Assamese Gujarati Kannada Kashmiri Konkani
Maithili Malayalam Manipuri Marathi Nepali Odia Punjabi Sanskrit
Santali Sindhi Tamil Telugu Urdu Bodo Dogri
The ESP32-based sensor node measures water quality directly from the harvested tank and pushes data to the cloud in real time.
| Sensor | Parameter | Pin |
|---|---|---|
| Analog pH Probe | pH (0β14) | GPIO 34 |
| TDS Sensor | Total Dissolved Solids (ppm) | GPIO 35 |
| Turbidity Sensor | Turbidity (NTU) | GPIO 32 |
| (Configured) | Dissolved Oxygen | β |
Data flow: ESP32 β Wi-Fi β FastAPI Backend β ML Prediction β Mobile / Web App
AquaBytes
βββ π± Mobile App (React Native / Expo Router)
β βββ Feasibility Assessment
β βββ Water Quality Monitor (Live + Manual)
β βββ Water Hub (Risk Intelligence)
β βββ History & Alerts
β βββ Elsa AI Chatbot (Gemini)
β
βββ π Website (HTML/CSS/JS)
β βββ Landing Page & Info
β βββ Feasibility Calculator Tool
β βββ Water Quality Check Tool
β βββ Risk Predictor Tool
β βββ Analytics Dashboard (Charts + Map)
β βββ Resources & Downloads
β
βββ βοΈ Backend (FastAPI / Python)
β βββ /api/v1/rtwh/feasibility β RTRWH feasibility engine
β βββ /api/v1/water-quality/predict β ML water quality analysis
β βββ /api/v1/water-risk/{device} β Smart water hub risk
β βββ /api/v1/devices/{id}/history β Sensor history
β βββ /api/v1/geocode β GIS location lookup
β βββ /api/v1/alerts β Alert management
β
βββ π IoT Firmware (ESP32 / Arduino)
βββ pH + TDS + Turbidity β Wi-Fi β Cloud API
| Model | Type | Purpose |
|---|---|---|
heavy_metal_rf.joblib |
Random Forest | Heavy metal contamination risk |
microbial_rf.joblib |
Random Forest | Microbial contamination risk |
| WQI Calculator | Algorithmic | Water Quality Index scoring |
| Water Risk Model | Regression + Rules | Tank water sufficiency & risk |
| Rainfall Budget Model | ML + Weather API | Water budget forecasting |
Training datasets: rainfall.csv, synthetic_training.csv, water_dataX.csv
| Layer | Technologies |
|---|---|
| Mobile App | React Native, Expo Router, i18next, Gemini AI, react-native-chart-kit |
| Website | HTML5, CSS3, Vanilla JS, Chart.js, Leaflet Maps |
| Backend | FastAPI, Python, Pydantic, Uvicorn |
| ML / AI | scikit-learn, NumPy, Pandas, joblib, Google Generative AI |
| IoT Firmware | Arduino C++ (ESP32), Wi-Fi, HTTPClient |
| Geo / Weather | GeoPy, Open-Meteo / weather API |
| Deployment | Netlify (web), Render (backend), Expo (mobile) |
- Python 3.10+
- Node.js 18+
- Expo CLI (
npm install -g expo-cli) - (Optional) Arduino IDE for IoT firmware
cd src/backend
pip install -r requirements.txt
uvicorn main:app --reloadAPI: http://localhost:8000 Β· Swagger docs: http://localhost:8000/docs
cd src/frontend/android_app
npm install
npx expo startScan the QR code with Expo Go (Android / iOS) or run on an emulator.
Open src/frontend/website/index.html directly in a browser, or serve statically:
npx serve src/frontend/website- Open
IOT/EVS_Project.inoin Arduino IDE - Set your Wi-Fi credentials (
ssid,password) and pointapiURLto your backend - Flash to your ESP32 board
- The device will begin streaming sensor readings to the backend automatically
AquaBytes/
βββ src/
β βββ IOT/
β β βββ EVS_Project.ino # ESP32 sensor firmware
β βββ backend/
β β βββ main.py # FastAPI entry point
β β βββ requirements.txt
β β βββ database.json # Lightweight local store
β β βββ app/
β β β βββ models.py # Pydantic data models
β β β βββ routes.py # All API endpoints
β β βββ algo/
β β β βββ sim_rainwater.py # RTRWH algorithm engine
β β βββ ml/
β β β βββ predictor.py # WQI + risk predictor
β β β βββ water_budget_model.py
β β β βββ datasets/ # Training CSVs
β β β βββ models/ # Trained .joblib models
β β βββ utils/
β β βββ rainfall_engine.py
β β βββ weather.py # Live weather forecast
β β βββ location.py # GIS geocoding
β βββ frontend/
β βββ android_app/ # React Native / Expo app
β β βββ app/ # Expo Router screens
β β βββ components/ # Reusable UI components
β β βββ locales/ # 23 language JSON files
β β βββ utils/ # Chatbot & helpers
β βββ website/ # Static web portal
β β βββ index.html
β β βββ tools/ # Calculator, Quality, Risk tools
β β βββ stat/ # Analytics (charts + map)
β βββ screenshots/ # App screenshots
βββ README.md
| Platform | URL |
|---|---|
| π Website | aquabytes.netlify.app |
| youtube.com/watch?v=g-DGNQVrjl8 | |
| βοΈ Backend API Docs | aquabytes.onrender.com/docs |
- β Selected at Smart India Hackathon (SIH)
- ποΈ Organization: Ministry of Jal Shakti (MoJS)
- π¬ Department: Central Ground Water Board (CGWB)
- π Problem Category: Software β Smart Automation
Listed in alphabetical order.
- Anirban Sarkar β @AnirbansarkarS
- Darsan Ghosh β @XpolioN2005
- Rishabh Chatterjee β @Ri2004
- Rishika Jha β @jha-rishika
- Sandipan Das β @Sandipan-developer
- Soumabha Mahapatra β @TechEruption
Contributions are welcome! Please read CODE_of_CONTACT.md before submitting a pull request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the terms in the LICENSE file.





.jpeg)