Inspiration

Wildfires are often thought of as a wall of flames, but many homes are actually ignited by wind-carried embers that land on small, overlooked hazards such as dry mulch, packed gutters, shrubs, or firewood near the house. We wanted to solve a simple problem: what if a homeowner could get an initial defensible-space assessment just by taking a photo of their property?

That idea became Ember, an AI wildfire-readiness tool designed for people living in the wildland-urban interface.

What We Built

Ember turns a single property photograph into a visual, prioritized wildfire-readiness assessment. The user uploads a photo, and our AI analyzes it using a four-zone defensible-space model covering the structure, Zone 0, Zone 1, and Zone 2.

Instead of returning a generic checklist, Ember identifies individual hazards and places them directly on the user's photograph. Each finding contains a location, severity, zone, visible observation, ignition mechanism, recommended action, estimated effort and cost, and the number of risk points that can be removed by fixing it.

The result is an ember-ignition risk score from 0–100 with a prioritized action plan. Users can check off completed actions and watch their projected risk score decrease, turning wildfire preparation into something measurable and actionable.

We also integrated live environmental context, including NASA FIRMS thermal detections, air quality, weather and red-flag conditions, along with an anonymized community assessment map.

How We Built It

The frontend was built with React, Vite and Tailwind CSS, with an Express backend deployed through Vercel. For vision analysis, we created a provider-independent AI layer supporting Claude and Gemini through the same structured JSON schema.

A major design decision was to make the AI output structured rather than allowing free-form responses. Every identified hazard must contain a zone, severity, observation, ignition mechanism and spatial locator. This allows the frontend to reliably draw the AI's findings back onto the original photograph.

Supabase provides persistent storage, with an in-memory fallback so the application continues working even when external services are unavailable. NASA FIRMS and Open-Meteo provide live environmental information.

We also built a complete demo mode with realistic fixtures, meaning the entire product can be demonstrated without API keys or depending on a live AI request succeeding.

Challenges

One of our biggest challenges was spatial grounding. A vision model can recognize a dangerous shrub or pile of firewood, but turning that understanding into a reliable location on the user's image required a carefully designed schema and overlay system. We solved this by requiring every finding to include a locator and distinguishing directly located hazards from inferred ones.

We also wanted the application to remain reliable when APIs or database services were unavailable. Instead of allowing one failed dependency to break the application, we designed each integration to degrade gracefully.

Another challenge was communicating wildfire risk without creating false confidence. A single photograph cannot reveal everything about a property, so Ember explicitly reports its blind spots rather than pretending to perform a complete professional inspection.

What We Learned

This project taught us that building useful AI products is not just about connecting a model to a prompt. The surrounding system — structured outputs, validation, spatial representation, fallbacks, accessibility and honest limitations — is what turns an AI capability into a usable product.

Most importantly, we learned that the best AI interface is sometimes not a chatbot. Ember points directly at the problem on the user's own property, making wildfire preparedness visual, understandable and actionable.

Accomplishments that we're proud of

What we learned

What's next for Ember

Built With

Share this project:

Updates

Submission history