AI-Powered Tsunami Prediction & Classification
Contents
I built TideScope to predict tsunami occurrence from earthquake data and classify tsunami severity in real time using an ESP32-powered sensor platform (simulation). The web interface allows live monitoring and prediction visualization. This project was presented at the 2025 Toronto Science Fair.
The system combines:
- Ensemble machine learning models (Random Forest, XGBoost) for tsunami prediction
- Real-time severity classification (0–4 scale) using ultrasonic and accelerometer sensors on ESP32
- React + Flask web interface for input, visualization, and live classification
|
|
The system is modular:
Machine Learning
- Algorithms: Random Forest, XGBoost for tsunami occurrence; Random Forest for severity classification
- Input Features: Magnitude, depth, location, seismic intensity, sensor data (ultrasonic, accelerometer)
- Outputs:
- Binary tsunami prediction (0 = no tsunami, 1 = tsunami)
- Severity classification (0–4 scale) from sensor input
- Accuracy: Up to 96%
Hardware
- Microcontroller: ESP32 Devkit
- Sensors: Ultrasonic distance sensor, MPU6050 accelerometer
- Function: Classifies simulated tsunami severity (0–4) in real time
- Power & Connectivity: USB powered, communicates with Flask backend over WiFi
Web Interface
- Frontend: React.js
- Backend: Flask
- Features:
- Live tsunami classification from sensor data
- Input form for earthquake parameters (magnitude, depth, location)
- Prediction visualization and confidence display
- Communication: Frontend requests predictions via REST API; backend handles sensor streaming from ESP32
- Clone the repository:
git clone https://github.com/jeevan9s/tidescope.git
cd tidescope- Install requirements:
pip install -r requirements.txt- Run & Tinker
npm run dev
cd flask
python app.py

