Hyper-local Campus Weather Forecasting System
End-to-End Machine Learning Project | ETL – Modeling – Deployment
UNSRAT Climate AI is a Machine Learning based micro-campus weather forecasting system for the UNSRAT Bahu campus area.
This project is designed to:
- Predict temperature and rainfall up to 6 hours in advance,
- Monitor conditions in real-time,
- Provide action recommendations that are easy for users to understand.
The system consists of three main components:
-
Automated ETL Pipeline (n8n)
Retrieve real-time data from the BMKG API every hour and save it to Google Sheets -
Machine Learning Engine (Python – Jupyter – XGBoost)
Used for preprocessing, EDA, feature engineering, training, and evaluation. -
Deployment Layer (Streamlit App)
Providing predictions and recommendations for action to users.
- Used Direct Multi-Step Model
- Separate models T+1, T+3, T+6 jam
- Low and stable error even as the time horizon increases.
- Temperature →
XGBRegressor - Rain →
XGBClassifierwith custom threshold (>5mm)
Evaluation data using hold out January 2025 - Present.
| Horizon | MAE Suhu (°C) | Rainfall Accuracy | Status |
|---|---|---|---|
| T+1 | 0.36 | 83% | ✔ Very Precision |
| T+3 | 0.59 | 74% | ✔ Reliable |
| T+6 | 0.71 | 72% | ✔ Enough |
- 🔁 ETL otomatis via n8n
- 📊 Prediksi cuaca (suhu & hujan)
- 📱 Dashboard interaktif Streamlit
- 🎯 Rekomendasi aksi otomatis
- 🌙 Mode gelap
My contributions to this project include:
- Designing and building an n8n pipeline to fetch BMKG data every hour.
- Cleaning data, fixing anomalies, preparing the final dataset.
I created a complete notebook starting from:
- Business Understanding
- Data Understanding (EDA, analisis cuaca Manado)
- Data Preparation (handling missing, feature engineering, time features)
- Modeling (XGBRegressor & XGBClassifier multi-step)
- Hyperparameter Tuning
- Evaluasi
- Export model untuk deployment
- Helping to tidy up the Streamlit display.
- Added dark mode & UX improvements.
- Creating a recommended action notification feature.
git clone https://github.com/natalio123/Peramalan-Cuaca-Project.git
cd Peramalan-Cuaca-Project
pip install -r requirements.txt
streamlit run app.py
📦 ML_PROJECT
┣ 📂 app/
┣ 📂 assets/
┣ 📂 dataset/
┣ 📂 source/
┣ 📂src
┣ README.md
┗ requirements.txt
Training Data Source: The model was trained using historical weather data from the Open-Meteo Historical Weather API with coordinates Latitude: 1.48218 and Longitude: 124.84892 (Manado City area). The historical data range is taken from November 13, 2020 to December 7, 2025. The system receives real-time input from the campus location (Bahu), ensuring it remains relevant to the microclimate.
Kampus Microclimate: Although the data source comes from the general coordinates of the city of Manado, the system is designed to receive input on actual weather conditions from the UNSRAT campus environment during inference, so that the prediction results remain relevant to the local microclimate of the campus.
Limitations of the n8n System: Real-time weather data retrieval is performed using n8n Cloud Free Tier, which has a 14-day usage limit and a daily execution limit. These limitations may affect the continuity of data pipeline automation once the trial period has expired.
If you would like to discuss or hire me, please contact me: nataliotumuahi@gmail.com

