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.
Loading article