BloomWatch is a comprehensive web application developed for the NASA Space Challenge 2025 that monitors flowering phenology in Monterrey, Mexico, using satellite data to help people with allergies, health organizations, and families with allergic children better manage respiratory health.
This project was developed for the BloomWatch: An Earth Observation Application for Global Flowering Phenology challenge, which aims to create tools that help communities understand and predict flowering patterns to improve health outcomes.
Both team members suffer from allergies, as do many of our loved ones. This personal connection to the problem drove us to develop a web application that we ourselves would use and benefit from. We understand the daily struggles of allergy sufferers and the importance of being able to anticipate and prepare for high pollen periods.
BloomWatch combines satellite data analysis with an intuitive web interface to:
- Monitor blooming patterns across 9 regions of Monterrey using NDVI and MCD12Q2 satellite data
- Predict allergen levels based on flowering phenology and vegetation health
- Provide health alerts for allergy-prone individuals and families
- Visualize data through interactive maps and real-time dashboards
- Track seasonal patterns to help users plan ahead
- Python 3.x - Core data processing and analysis
- Pandas & NumPy - Data manipulation and analysis
- Scikit-learn - Machine learning models
- Statsmodels - Statistical analysis and ARIMA modeling
- Prophet - Time series forecasting
- TensorFlow - Deep learning capabilities
- Matplotlib & Seaborn - Data visualization
- React 19 - Modern web application framework
- TypeScript - Type-safe development
- Tailwind CSS - Utility-first styling
- Leaflet & React-Leaflet - Interactive mapping
- Recharts - Data visualization components
- Vite - Fast development and building
- NASA Earthdata - Primary satellite data source
- AppEEARS API - Data extraction and processing
- MCD12Q2 - Phenology data (2005-2024)
- MOD13Q1 - NDVI vegetation data (2005-2024)
NASA-Space-Challenge/
├── app/
│ └── frontend/ # React web application
│ ├── src/
│ │ ├── components/ # React components
│ │ │ ├── Dashboard.tsx
│ │ │ ├── BloomMap.tsx
│ │ │ ├── BloomingFlowers.tsx
│ │ │ ├── HealthAlerts.tsx
│ │ │ ├── SeasonalInsights.tsx
│ │ │ └── Sidebar.tsx
│ │ ├── App.tsx
│ │ └── main.tsx
│ └── package.json
├── extractors/ # Data extraction from NASA APIs
│ ├── data_extraction_ndvi.py # NDVI data extraction
│ ├── data_extraction_mcd12q2.py # Phenology data extraction
│ ├── nasa_token.py # NASA authentication
│ └── datasets/ # Raw satellite data
│ ├── MCD12Q2/ # Phenology datasets by region
│ └── NDVI/ # Vegetation index datasets
├── models/ # Machine learning and analysis
│ ├── data_loader.py # Data processing pipeline
│ ├── ndvi_predictor.py # Basic prediction models
│ ├── arima_predictor.py # ARIMA time series modeling
│ ├── prophet_predictor.py # Prophet forecasting
│ ├── model_validator.py # Model validation and metrics
│ ├── prediction_analyzer.py # Prediction analysis tools
│ ├── data/
│ │ ├── raw/ # Original satellite data
│ │ ├── processed/ # Cleaned and combined data
│ │ └── predictions/ # Generated predictions
│ └── requirements.txt
└── README.md
- NDVI Analysis: Normalized Difference Vegetation Index to measure vegetation health
- Phenology Tracking: MCD12Q2 data for flowering season detection
- Multi-region Coverage: 9 strategic points across Monterrey
- Temporal Coverage: 20 years of historical data (2005-2024)
- Linear Regression: Baseline predictions with seasonal adjustments
- ARIMA Models: Advanced time series forecasting with auto-regression
- Prophet: Facebook's forecasting tool for seasonal patterns
- Ensemble Methods: Combining multiple models for improved accuracy
- 9 regions analyzed with 4,149 total data points
- Peak bloom periods: Generally October (month 10)
- Lowest vegetation: February-March (months 2-3)
- Regional variations: Sureste region shows highest NDVI (0.7469), Centro lowest (0.0852)
- Model performance: Linear models achieve 2-3% MAPE error rates
- Python 3.8+
- Node.js 18+
- NASA Earthdata account
- Git
-
Clone the repository
git clone https://github.com/your-username/NASA-Space-Challenge.git cd NASA-Space-Challenge -
Set up NASA API access
cd extractors # Follow instructions in extractors/README.md to configure NASA tokens
-
Install Python dependencies
cd models pip install -r requirements.txt -
Install frontend dependencies
cd app/frontend npm install
-
Extract satellite data (first time only)
cd extractors python data_extraction_ndvi.py python data_extraction_mcd12q2.py -
Process and analyze data
cd models python run_data_loader.py python ndvi_predictor.py python arima_predictor.py python prophet_predictor.py -
Start the web application
cd app/frontend npm run dev -
Open your browser to
http://localhost:5173
- Real-time bloom monitoring across Monterrey
- Health alerts and pollen level indicators
- Seasonal insights and historical patterns
- Temperature and humidity tracking
- Interactive map with 9 Monterrey regions
- Color-coded bloom intensity levels
- Species-specific information per region
- Weather data integration
- Pollen level warnings
- Allergy risk assessments
- Preventive recommendations
- Historical pattern analysis
- 20-year historical analysis
- Predictive modeling for future blooms
- Regional comparison tools
- Seasonal trend identification
- 4,149 data points across 9 regions
- 20 years of satellite observations
- Zero missing values in processed dataset
- Real-time updates every 16 days
- Linear models: 2-3% MAPE error rate
- ARIMA models: Captures seasonal patterns effectively
- Prophet models: Handles holiday effects and trends
- Ensemble approach: Improved accuracy through model combination
- Early warning system for allergy sufferers
- Regional specificity for targeted health advice
- Seasonal planning for outdoor activities
- Educational tool for understanding local ecology
- Real-time API integration with weather services
- Mobile application for on-the-go access
- Machine learning improvements with more sophisticated models
- Expansion to other cities beyond Monterrey
- Integration with health tracking apps
- Community reporting for citizen science contributions
This project was developed by a passionate team of developers who personally understand the challenges of living with allergies. Our goal was to create a tool that would genuinely help people like us and our families manage their health better.
This project is developed for the NASA Space Challenge 2025 and is available under the MIT License.
- NASA Earthdata for providing satellite data access
- AppEEARS team for data extraction tools
- React and Python communities for excellent open-source tools
- Monterrey residents for inspiration and real-world application
Built with ❤️ for allergy sufferers everywhere
