Inspiration When extreme weather strikes, global meteorological APIs provide incredibly detailed data—rainfall accumulations and wind speeds. However, for first responders and disaster management agencies, raw weather data is not enough. They don't just need to know where it's raining; they need to know WHAT critical infrastructure is in danger and WHO to evacuate. The inspiration for EcoPredict came from realizing that the process of matching extreme weather alerts with global infrastructure (like hospitals, clinics, and elderly care centers) is dangerously manual and slow. We wanted to build a world-class platform capable of monitoring high-risk cities globally.
What it does EcoPredict is a global predictive dispatch system for disaster management. It bridges the gap between meteorology and social care through three core features:
AI-Driven Global Risk Scoring: EcoPredict integrates with the Open-Meteo API to fetch real-time and 48-hour forecast data for over 30 high-risk global cities. It uses a Machine Learning model (Decision Tree) to calculate a comprehensive "Risk Score", categorizing them into 4 risk tiers. Critical Infrastructure Integration: When a city hits a critical risk level, the system integrates with a curated Infrastructure Registry (sourced from OpenStreetMap). Operators can immediately see exactly which hospitals or care centers are in the danger zone. Interactive Command Center: Operators use a dark-mode, command-center-style Leaflet map to monitor the entire globe simultaneously, with pulsing nodes alerting them to extreme risks.
How we built it We utilized a decoupled architecture for maximum scalability during a crisis:
Frontend: Built with vanilla HTML5/JS/CSS3, utilizing Leaflet.js with Esri Topo mapping for precise geographical context. Hosted on Cloudflare Pages for global edge caching. Backend: A highly concurrent FastAPI (Python) server hosted on Render, serving GeoJSON data and facility details. Machine Learning: We fetched over 10,000 rows of real historical rainfall data from 2023 across our 30 monitored cities using the Open-Meteo Historical API. We trained a Decision Tree model using scikit-learn to predict extreme flood risks based on 1h intensity, 3-day accumulation, and future PoP. Data Sources: Live data from Open-Meteo and real-world infrastructure data curated from the OpenStreetMap Overpass API.
Challenges we ran into Our biggest challenge was ensuring the project relied on 100% real-world data. Initially, due to the rarity of extreme weather events right at the moment of the hackathon, our ML model had no positive disaster samples to learn from. Instead of using fake synthetic data, we pivoted to write a historical fetcher script that downloaded a full year of real past weather data from Open-Meteo to train the model accurately. Furthermore, the OpenStreetMap Overpass API strictly rate-limited our global hospital queries (429 errors). We overcame this by writing a generation script to curate a static, verified list of over 80 major hospitals across our 30 cities to ensure 100% stability during the demo.
Accomplishments that we're proud of We are incredibly proud of our UI/UX design. We completely stripped away the "consumer weather app" look and built a professional, dark-mode command center layout. It genuinely looks and feels like a specialized instrument used in a global crisis response center. We are also incredibly proud of completely eradicating fake synthetic data from our pipeline, ensuring the entire system runs on real historical training data and verifiable hospital locations.
What we learned We learned a massive amount about handling strict API rate limits when dealing with global data requests (Open-Meteo and OpenStreetMap). We learned how to architect a data pipeline that pulls historical data for ML training (features.csv) while simultaneously managing real-time data fetching for the live UI. We also learned how to deploy a fully decoupled full-stack application using Cloudflare Pages and Render.
What's next for EcoPredict The next step is to integrate real-world SMS and Webhook APIs (like Twilio or LINE Messaging API) so the system can automatically send evacuation dispatch signals directly to the administrators of the at-risk hospitals. We also plan to expand our monitoring scope from 30 cities to over 1,000 global high-risk coastal and river-basin zones.
Built With
- cloudflare-pages
- css3
- fastapi
- html5
- javascript
- leaflet.js
- machine-learning
- open-meteo
- python
- render
- scikit-learn
Log in or sign up for Devpost to join the conversation.