Real-Time Air Quality (NASA Global Nominee)
AstroDreamers is a web application that helps people monitor air quality in real-time and receive personalized alerts when pollution becomes dangerous. Users can subscribe to multiple locations, track six key pollutants (SO₂, NO₂, PM2.5, PM10, O₃, CO), and configure custom alert thresholds with quiet hours to avoid notification fatigue. AstroDreamers presents complex atmospheric data in a visually intuitive way, using color-coded indicators that anyone can understand. Users see at a glance whether the air is safe to breathe, allowing them to make quick decisions about outdoor activities without parsing technical data.
Problem: TEMPO data is complex and not easily consumable by non-experts.
Outcome: A public web app that translates satellite + ground data into simple visuals and alerts, recognized as a Global Nominee at NASA Space Apps 2025.
Frontend: React, Tailwind, Recharts (interactive charts), Netlify (deploy).
Backend: Spring Boot (REST), PostgreSQL, Hibernate, JWT auth, Render (deploy).
Data: OpenAQ API (real-time sensors), NASA TEMPO observations.
ETL: Scheduled pulls → validation → normalization → merge (satellite + ground) → AQI scoring and thresholds.
Forecasting: Python (pandas, numpy, scikit-learn, LightGBM), features: time (hour/day/season), rolling means, weather (temp, humidity, wind).
Upon opening AstroDreamers, the dashboard provides a real-time snapshot of air quality across all subscribed locations. Users see their top subscriptions with live pollutant measurements displayed in color-coded cards—green for good air quality, progressing through yellow, orange, and red to pink for very poor conditions. An Air Quality Index reference table sits at the top, providing instant context for what the numbers mean.
See the web app at astrodreamers.netlify.app
Search & Subscribe Page
Users can search for any location worldwide using the OpenAQ database. The search returns available monitoring stations, showing location names and coordinates. With one click, users subscribe to locations they care about, eg. home, work, school, or elderly parents' neighborhoods.
Dashboard - Real-Time Analysis
Each subscription displays as a dedicated card showing all six pollutants with their current values and color-coded severity levels. The metrics update in real-time using data from OpenAQ's ground-based sensors, which integrate observations from NASA's TEMPO satellite mission. Users can scroll through multiple subscriptions, seeing everything from a single dashboard.
Built in forcasting using light gbm model to show hourly forecasting
Alert Configuration
The "Configure Alert" button opens a detailed settings page where users customize alerts for each pollutant. They set threshold values (e.g., alert me when PM2.5 exceeds 35 μg/m³) and define quiet hours (default: 10 PM to 8 AM) to prevent sleep disruption. Each sensor can be individually enabled, disabled, edited, or deleted.

AstroDreamers is developing advanced machine learning capabilities to forecast PM2.5 levels 6-24 hours in advance. Using historical data from OpenAQ and NASA TEMPO observations, we're training two prediction models:
LightGBM Model: A gradient boosting framework optimized for speed and accuracy with time-series data. The model processes historical PM2.5 measurements, meteorological factors (temperature, humidity, wind speed), and temporal patterns (hour of day, day of week, seasonality).
Random Forest Model: An ensemble learning method that creates multiple decision trees to predict future pollution levels. This model excels at handling non-linear relationships and identifying which factors most strongly influence PM2.5 concentrations.
How the prediction works:
Data Collection: Aggregate 6-12 months of historical PM2.5 data from OpenAQ for each location
Feature Engineering: Extract time-based features (hour, day, month), calculate rolling averages, and incorporate weather data
Model Training: Train both LightGBM and Random Forest models on 80% of data, validate on remaining 20%
Ensemble Prediction: Combine predictions from both models using weighted averaging for improved accuracy
Real-time Forecasting: Generate 6-hour and 24-hour forecasts updated every hour
Status: Currently in development, targeted for Phase 2 release. Initial models trained on data from 10 major cities with plans to expand coverage globally.
Frontend:
React.js, JavaScript, HTML, CSS
Tailwind CSS (styling)
Recharts (data visualization)
Netlify (deployment)
Backend:
Spring Boot (Java)
PostgreSQL (database)
Hibernate (ORM)
JWT (authentication)
Render (deployment)
Machine Learning:
Python
LightGBM (gradient boosting)
scikit-learn (Random Forest)
pandas, numpy (data processing)
Development Tools:
GitHub (version control)
Visual Studio Code (IDE)
Docker (containerization)
Figma (UI design)
Data Sources:
OpenAQ API (ground sensor data)
NASA TEMPO (satellite observations)
+61 421 718 726
thanhthao.chu05@gmail.com




