Inspiration
The idea started with a simple question: why is the air bad today?
We knew air quality data existed — the EPA publishes it constantly. But every time we tried to find an answer, we ended up buried in government portals, technical reports, and raw sensor feeds that felt designed for scientists, not people.
137 million Americans live in areas where the air regularly exceeds safe AQI thresholds. Most of them have no idea. Not because they don't care — but because nobody has made it easy enough to see, understand, and act on.
Sustainability is often framed as a policy debate. We wanted to reframe it as a personal one. If you could see the air above your city — actually see it — would you think differently about where your energy comes from?
That's the question Aether Monitor is built to answer.
What it does
Aether Monitor is a real-time, multi-sensory air quality visualization platform for the United States. It connects three layers of the air quality story in one place:
NETWORK — Live View Monitors 24 major US cities with real-time AQI data. Cities are rendered as animated smoke plumes on an interactive 3D map — the color and intensity of each plume reflects the current Air Quality Index (AQI). Users can:
- Hover over any city for an instant AQI snapshot
- Click any city for a full detail panel (AQI, weather, wind, humidity)
- Click anywhere on the map — down to county level — to fetch a localized reading
- Ask WHY (Gemini AI explains what's driving the current AQI in plain language)
- Ask SOLUTION (Gemini returns localized, actionable steps)
The AQI scale follows the EPA standard:
$$ \text{AQI} = \frac{I_{high} - I_{low}}{C_{high} - C_{low}} \times (C - C_{low}) + I_{low} $$
where $C$ is the measured pollutant concentration, and $I$, $C_{high/low}$ are EPA breakpoint values per pollutant category.
HISTORICAL — Phoenix 30-Day Archive A curated 30-day dataset for Phoenix, AZ (March–April 2026), capturing:
- A haboob dust storm on March 16–17 (AQI peak: 215)
- A cold front clearing on March 25–26 (AQI low: 35)
- Spring ozone buildup through late March into April
Users can scrub through the timeline day by day and read annotated event markers that explain what happened meteorologically.
SOURCES — Emissions Origins Maps real US power plants and AI data centers against city AQI nodes, with fuel-type filters (Coal, Gas, Data Centers) and a ranked leaderboard of top emitters by total annual CO₂ output. This view makes the invisible supply chain of pollution visible — connecting energy consumption directly to the air people breathe.
How we built it
| Layer | Technology |
|---|---|
| Map engine | MapLibre GL JS |
| Particle system | Canvas 2D API (custom, zoom-aware) |
| AI analysis | Google Gemini 2.5 Flash |
| Live AQI data | AirNow API + OpenWeatherMap |
| Historical data | Pre-cached JSON (Phoenix 30-day) |
| Frontend | Vanilla JS, modular architecture |
| Styling | Custom CSS — dark telemetry theme |
Particle System
The smoke visualization is a custom Canvas 2D particle engine layered over the
MapLibre GL map. Each city emitter projects its geographic coordinates to screen
space on every frame using glMap.project(lngLat), then applies a zoom scale
factor so smoke visually "sticks" to the map as users pan and zoom:
$$ \text{zoomScale} = 2^{\,zoom - zoom_{base}} $$
Particle count, size, speed, and opacity all scale with AQI — a city at AQI 200 emits roughly $10\times$ more particles than a city at AQI 50.
Geodome Layer Each city also renders a translucent wireframe geodome beneath the smoke, providing a stable spatial anchor and selection feedback when a city is clicked.
AI Integration Gemini receives the city name, current AQI, primary pollutant, weather conditions, and wind data — and returns a plain-language explanation tailored to that specific reading. Responses are rendered with a typewriter animation to reinforce the sense of live analysis.
Challenges we ran into
Historical data without live API calls Pulling 30 days of real historical AQI data via API during a hackathon demo is unreliable — rate limits, authentication, and latency all become problems at the worst moment. We solved this by pre-caching a curated Phoenix dataset with realistic variation, meteorological accuracy, and annotated events, so the historical experience is always fast, stable, and narratively coherent.
Making pollution sources legible The SOURCES view needed to show power plants and AI data centers without overwhelming the map. Designing the filter system, leaderboard, and spread visualization so that non-technical users could immediately understand the connection between an energy facility and a city's AQI took multiple redesigns.
Scope under time pressure We scoped aggressively. Forecast features were cut entirely. Historical data was narrowed to Phoenix. Every cut was made in service of shipping something that did its core job — making air quality visible and understandable — exceptionally well.
Accomplishments that we're proud of
- A particle visualization that feels alive — not a dashboard, but an atmosphere
- A fully synchronized live demo where every UI interaction tells part of the story
- Connecting three distinct data layers (live AQI, historical events, emission sources) into a single coherent narrative
- Gemini integration that produces genuinely useful, localized responses — not generic filler
- The "click anywhere" feature — making the platform accessible to users outside the 24 monitored cities
- Shipping a clean, polished product under hackathon time constraints
What we learned
Data availability ≠ public understanding. The EPA has decades of air quality data. Almost none of it reaches ordinary people in a form they can act on. The bottleneck isn't collection — it's communication.
Visualization is a form of argument. Choosing smoke particles over bar charts wasn't just aesthetic. It was a deliberate decision to make pollution feel real rather than abstract. Every visual choice carries a meaning.
Scope is strategy. Cutting forecast features and narrowing historical data to Phoenix felt like failure in the moment. In retrospect, it's what made the final product coherent. A focused tool that does three things well beats an ambitious one that does ten things poorly.
What's next for Aether Monitor
- Expand historical coverage — add more cities beyond Phoenix, with multi-year datasets that capture long-term pollution trends and seasonal patterns
- Alert system — push notifications when AQI in a user's area crosses a threshold they set
- Health impact modeling — translate AQI numbers into concrete health risk estimates based on age, activity level, and pre-existing conditions
- School and neighborhood view — hyper-local data layers focused on vulnerable communities, schools, and hospitals
- Emission source linking — directly connect a city's AQI reading to the specific upstream facilities most likely contributing to it on that day
- Policy tracker — layer clean energy legislation and EPA regulation changes onto the historical timeline, so users can see whether policy actually moves the needle
Built With
- css3
- d3.js
- electricitymaps-api
- gemini-api
- google-fonts
- html5
- maplibre-gl-js
- openweathermap-api
- python
- sonified-timeline
- topojson
- us-aqi-engine
- vanilla-javascript
- web-audio-api
Log in or sign up for Devpost to join the conversation.