AWS Builder Center
A Missing Reading Is Not Zero Pollution

A Missing Reading Is Not Zero Pollution

How can schools turn air-quality forecasts into more informed decisions about outdoor activities? This article explores a JavaScript-based prototype for 12 Indian cities, the challenge of handling missing data responsibly, and the AWS serverless architecture behind the project.

Building a school air advisory for 12 Indian cities.
A school doesn't just need an air-quality number. It needs information that helps people plan outdoor activities.
That inspired School Air-Day Guard, a web application that turns Open-Meteo's hourly PM2.5 and PM10 forecasts into school-hour planning advisories. It supports 12 Indian cities, shows forecasts for today and tomorrow, and provides suggested precautions and shareable messages.

The technical challenge

Forecast data can be incomplete. If a missing reading became zero, a lack of information could look like clean air.
I built deterministic JavaScript logic to reject invalid readings and require at least four valid school-hour readings before producing an advisory.
The advisory uses the highest valid hourly planning index in its configured school-hour window. The project has nine passing Node.js tests covering important calculation and data-handling behaviours.
A missing reading is not evidence of clean air.

Why these technologies?

I chose JavaScript rules instead of an LLM for the central calculation because the results are reproducible and testable.
My AWS SAM template defines an intended serverless architecture using Amazon API Gateway HTTP API, AWS Lambda, and Amazon DynamoDB for caching. I built and validated the template locally, but the infrastructure has not been deployed. The planning index is not an official CPCB AQI measurement or medical advice.

What I learned

I worked on this project while balancing another hackathon, learning as I went, and working with limited resources. AI tools helped me write code faster, but I still needed to test the implementation and understand its limitations.
Will this project win? Honestly, I don't know. My idea may not be as strong as other projects, and there is plenty I could improve. I'm still learning, and this is one step in that journey.
But I don't want one result to decide whether I keep building. I want to learn from what I get wrong, improve my skills, and try again.
If you have feedback, technical suggestions, or guidance that could help me improve me and this project , I would genuinely appreciate it. Even if it doesn't place, I want to understand what I could do better and carry those lessons into my next build.
I'm not claiming to have built the perfect solution. I'm sharing what I tried, what I learned, and what I hope to improve.
Built for learning and experimentation. Follow official local environmental guidance.
Any opinions in this article are those of the individual author and may not reflect the opinions of AWS.
Enjoyed reading this content? Let the author know!

Your likes, comments, shares, and saves help creators reach more builders.

Loading recommendations

Loading article