Inspiration
Sinkholes cause billions in damage and put lives at risk in karst regions worldwide. Most solutions are reactive—communities and insurers act only after collapse. We wanted to change that: predict susceptibility before the ground fails and warn people before it’s too late. Karst Intelligence Agent (KIA) turns reactive damage into proactive risk intelligence and sends clear, AI-drafted alerts when the system detects real danger.
What it does
KIA predicts sinkhole susceptibility using a trained ML model (XGBoost) on real geology, elevation, and satellite data. Users get predictions as an interactive susceptibility map and risk scores. One click is all it takes: the Start Agent button runs the full pipeline. The scan runs, susceptibility predictions are generated, Gemini 3 runs risk analysis, validates the run, and the autonomous monitoring agent starts automatically—no separate “start monitoring” step. The agent then checks GPS and InSAR, combines them with predicted susceptibility, and when a trigger fires, Gemini composes the alert for emergency management. So: Start Agent → scan, prediction, analysis, validate, monitoring, and compose all run by themselves.
How we built it
We built a FastAPI backend that pulls real data from FGS, USGS 3DEP, NHD, and Planetary Computer (Sentinel-2). The prediction pipeline uses a tuned inference engine to predict susceptibility per tile; those predictions drive the heatmap, point queries, and monitoring. We integrated Google Gemini 3 via Vertex AI in three roles: (1) Analyze—risk assessment with reasoning; (2) Validate—scan summary and alert recommendation; (3) Compose—drafting alert text when triggers fire. After the user clicks Start Agent, the frontend runs scan → AI analysis → then automatically starts the monitoring loop so alerts can fire without any further clicks. We deploy on Render with Vertex credentials via env so prediction, validate, and compose all run in production.
Challenges we ran into
USGS 3DEP returned 403 from cloud IPs; we fixed it with User-Agent and Referer. Vertex AI on Render has no key file—we added support for credentials via GOOGLE_APPLICATION_CREDENTIALS_JSON. Making the susceptibility overlay reliable meant preloading tiles into cache and serving only from cache. Designing the flow so that one Start Agent click kicks off scan, prediction, analysis, and automatic monitoring—with Gemini validate and compose in the loop—required careful orchestration and timeouts.
Accomplishments that we're proud of
We shipped a production app that predicts sinkhole susceptibility from real data and surfaces those predictions in an interactive map. One button, one click: Start Agent runs the whole pipeline and monitoring starts automatically. We use three Gemini 3 workflows: analysis, validate, and compose for alerts. The pipeline is region-agnostic (Florida is the first case study). Judges see prediction, validation, and alert composition—all from a single Start Agent click.
What we learned
We learned how to fuse multimodal geospatial data with a foundation model and use the same model for reasoning, validation, and compose. We learned that karst risk is best addressed when prediction (ML) and AI work together—ML for susceptibility predictions, Gemini for interpretation, validation, and alert messaging. We also learned how to orchestrate one-click flow so scan, analysis, and monitoring all start automatically without the user starting monitoring themselves.
What's next for Karst Intelligence Agent (KIA)
We will add 3D terrain visualization so users can explore elevation and predicted susceptibility in an immersive 3D view. We will expand beyond Florida to other karst regions and support multiple languages and regulatory contexts. We will deepen the early-warning layer and expose prediction, validate, and compose via APIs for insurers and government. I will continue working on the 3D implementation, multi-region rollout, and go-to-market so KIA becomes the default platform for predicting sinkhole risk and sending validated, AI-composed alerts—all from one Start Agent click.
Built With
- fastapi
- florida-geological-survey-(fgs)
- geopandas
- google-gemini-3-(vertex-ai)
- google-gen-ai-sdk
- leaflet.js
- national-hydrography-dataset-(nhd)
- numpy
- opentopography
- python
- rasterio
- render
- scikit-learn
- scipy
- sentinel-2-(planetary-computer)
- shapely
- usgs-3dep
- uvicorn
- xgboost
Log in or sign up for Devpost to join the conversation.