Inspiration

We wanted to make an application that helps with some area of real estate because we were inspired by the sponsor First American. After brainstorming different application ideas, we settled on the climate risk scoring for different properties.

What it does

This application takes in a user input of an address and then calculates how much risk the property on that address is at to be caught in a wildfire, flood and landslide. It generates a risk report that also provides recommendations for the user if they live in that area, shows the distance to the nearest wildfire and displays the risk probability over time. The audience that this application tries to target is prospective homeowners that might want to see if their new property is at risk of facing a natural disaster, and if so, what lengths they should go to for a failsafe in case a natural disaster does happen to the property.

How we built it

ClimateCheck's frontend is built with React.js and TypeScript, using Vite as the build tool, Tailwind CSS for styling, Recharts for data visualization, and React Router for navigation. On the backend, we use Python with FastAPI and Uvicorn to handle requests, httpx for async HTTP calls, and asyncio to run all API calls in parallel for faster response times.

For AI, we use Google Gemini 2.0 Flash to generate plain English risk explanations, 30-year probability projections, and personalized homebuyer recommendations from the raw risk data we collect. Our data comes from seven real government and commercial APIs: the Melissa Global Address API for geocoding and property data, the FEMA National Flood Hazard Layer for flood zone classification, the USFS Wildfire Hazard Potential dataset for wildfire risk, the USGS Elevation Point Query and Open Topo Data for terrain elevation, the USGS Landslide Inventory for historical landslide incidents, the NIFC Interagency Fire Perimeters API for proximity to historical wildfires, and the NOAA Weather Alerts API for real-time active weather warnings.

To get fire and flood data, we used Melissa's Global Address Verification API to parse the user inputted address and fetch the latitude and longitude from the returned JSON. Those coordinates are then fed into our climate risk APIs. We got data from different national wildfire, elevation, flood, and landslide databases and used their APIs to output raw risk factors based on latitude and longitude. We then fed this into our custom risk scoring formula to produce normalized 0-100 scores, which are sent to Gemini to generate an AI analysis and personalized recommendations.

For the design, we decided on a color scheme and the graphs we wanted to display, built it in Figma Make using AI, downloaded the zip file, and integrated it into the rest of our codebase.

Challenges we ran into

Location data: The hardest part was figuring out how to properly send the API query. I’d previously only done asynchronous queries in JavaScript, so I had some difficulty translating that into a Python query. My first solution accidentally encoded values that I didn’t want to encode, resulting in bad queries. It took some trial and error to figure out how to send the values I wanted without unnecessary encoding.

Climate Risk Scoring: We ran into many challenges with the FEMA and landslide datasets, as they were constantly sending 404 errors instead of the JSON with the data. We had to code in a failsafe for it to fix it so if the database server ever sends the user a 404 error instead, we would calculate the risk score for landslide and flood using the data we already have, such as elevation.

Accomplishments that we're proud of

We’re proud that we got some more experience understanding API output, as well as querying from them. We’re also proud that we managed to create a whole application, with frontend and backend development, that functions and actually could help people figure out if their property is at risk of experiencing natural disasters.

What we learned

For most of us, it was our first hackathon, so we got to learn how to collaborate and build a project in such a short period of time using Github. We also learned how to use Figma, how to implement AI in our project using API keys and gained experience in both backend and frontend development for an application.

What's next for Climate Check

For next steps for Climate Check, we hope to expand to using global datasets for natural disasters and properties, as currently we only covered the U.S. We also hope to implement risk score calculation for natural disasters other than just wildfires, floods and landslides, such as tornados, hurricanes, etc. We could also develop an app for it for greater accessibility.

Built With

Share this project:

Updates