Skip to content

ML-powered wildfire detection using NASA FIRMS data, PostGIS, and CatBoost

Notifications You must be signed in to change notification settings

analees/Senior-Project

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WildSight - Wildfire Detection & Prediction System

Real-time wildfire detection and prediction system using NASA satellite data, machine learning, and geospatial analysis to protect at-risk communities in Austin, Texas.

🎯 The Problem

89% of Austin's fastest-growing areas are in zones with the highest wildfire potential. This system provides early detection and prediction capabilities to help residents, emergency responders, and land managers take proactive action to protect lives and property.


Backend Architecture & Database

  • Designed and implemented PostgreSQL + PostGIS geospatial database schema for storing fire events, weather data, and predictions
  • Built scalable data models with proper indexing for high-performance geospatial queries
  • Implemented Alembic migrations for version-controlled database schema evolution
  • Optimized queries for real-time location-based fire risk assessment

Machine Learning Pipeline

  • Developed Champion-Shadow model architecture using CatBoost for production fire prediction
  • Engineered 7+ features combining:
    • NASA satellite fire detection data
    • Real-time weather conditions (wind, humidity, temperature)
    • Temporal patterns and historical fire behavior
    • Geospatial characteristics (vegetation, proximity to water bodies)
  • Built comprehensive model comparison framework:
    • Baseline: Logistic Regression
    • Challenger: Random Forest
    • Champion: CatBoost with ordered boosting
  • Achieved significant improvement in prediction accuracy through ensemble methods and proper handling of class imbalances
  • Implemented hyperparameter tuning and cross-validation for model optimization

Data Integration & Automation

  • Integrated NASA FIRMS (Fire Information for Resource Management System) datasets
  • Implemented NOAA Weather API integration for real-time meteorological data
  • Built Celery worker system for automated background tasks:
    • Daily data ingestion from NASA satellite feeds
    • Scheduled model retraining (weekly)
    • Real-time prediction generation across geographic regions
  • Designed resilient data pipelines with error handling and retry logic

API Development

  • Created Flask REST API with endpoints for:
    • Fire risk predictions by location
    • Historical fire data queries
    • Weather data access
    • Model performance metrics and monitoring
  • Implemented efficient geospatial query optimization using PostGIS
  • Built data validation and error handling for production reliability

DevOps & Deployment

  • Configured Dockerized development environment using docker-compose
  • Set up production deployment with HTTPS protocol
  • Database administration, backup strategies, and performance monitoring
  • Environment configuration and secrets management

🛠️ Tech Stack

Backend: Python, Flask, PostgreSQL, PostGIS, SQLAlchemy, Alembic
Machine Learning: CatBoost, scikit-learn, pandas, NumPy
Data Pipelines: Celery, Redis
Frontend: React, TypeScript, Leaflet.js, DaisyUI, Tailwind CSS
Data Sources: NASA FIRMS, NOAA Weather API
DevOps: Docker, docker-compose


📊 Key Features

  • Real-time fire detection using NASA satellite data
  • Predictive analytics for fire risk assessment
  • Interactive geospatial visualization with Leaflet maps
  • Automated daily updates from satellite feeds
  • Historical fire analysis and pattern recognition
  • Weather-integrated predictions for improved accuracy

📁 Project Structure

senior-project/
├── backend/
│   ├── Dockerfile
│   ├── requirements.txt
│   └── app/
│       ├── __init__.py          # Flask app factory
│       ├── extensions.py         # SQLAlchemy, Migrate setup
│       ├── Models/              # Database models
│       │   ├── __init__.py
│       │   └── message.py
│       └── Routes/              # API endpoints
│           ├── __init__.py
│           ├── health.py        # Health check endpoints
│           └── hello.py         # Core API routes
│
├── frontend/
│   ├── package.json
│   ├── vite.config.ts
│   ├── tailwind.config.js
│   └── src/
│       ├── routes/              # React Router setup
│       ├── layouts/             # App shell, navbar, footer
│       ├── components/          # Reusable components
│       └── pages/               # Page components
│
├── docker-compose.yml           # Multi-container orchestration
└── .env                         # Environment configuration

🚀 Roadmap (Sprint 5 - In Progress)

  • Personalized evacuation routing - Real-time route calculation avoiding fire risk zones
  • Alert system - SMS/Email notifications for at-risk residents
  • Geographic expansion - Extend coverage to additional Texas regions
  • Cloud migration - Deploy to AWS for production scalability

📈 Impact

This system addresses a critical need in rapidly growing Austin communities where wildfire risk intersects with urban expansion. By providing early detection and predictive capabilities, WildSight enables:

  • Residents to receive timely alerts and make informed decisions
  • Emergency responders to prioritize resources and coordinate evacuations
  • Land managers to implement proactive habitat protection strategies

🎓 About

Developed as a Senior Capstone Project demonstrating real-world application of machine learning, geospatial analysis, and full-stack development to solve pressing environmental challenges.


For technical setup instructions and development guidelines, see the original team repository.

About

ML-powered wildfire detection using NASA FIRMS data, PostGIS, and CatBoost

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 76.8%
  • Python 13.9%
  • JavaScript 4.6%
  • Dockerfile 2.7%
  • HTML 1.4%
  • CSS 0.6%