AWS Builder Center
We measured how much smog a Delhi delivery rider breathes, and built the fix on AWS

We measured how much smog a Delhi delivery rider breathes, and built the fix on AWS

Using real data from 57 Delhi monitors on AWS Open Data, we built RideClean: a Hindi voice app that shows delivery riders their smoke exposure in cigarettes, plus a station planner that tests smog rules. Built with Lambda, Polly, DynamoDB and Amplify for WeMakeDevs x AWS Environmental Hacks.

Every winter Delhi’s air turns into a slow smoke. We kept asking one question: how much of it does a delivery rider breathe in a shift? Amazon pauses deliveries from 1 to 4 pm in a heatwave. Smog has no such rule, so we built RideClean, a smog-dose assistant for riders and station managers, for the WeMakeDevs x AWS Environmental Hacks.
The data. We used the OpenAQ archive on AWS Open Data, which you can read from S3 with no credentials. A Python script downloaded hourly PM2.5 from 57 government monitors across Delhi NCR (75,894 station-hours, 15 Oct to 15 Dec 2025). The numbers were worse than we guessed: on average 12.9 times the WHO limit, and 96.9 percent of hours above India’s own limit. The worst four hours are 10 pm to 2 am.
The model. We turned PM2.5 into cigarettes, because “193 micrograms” means nothing to a rider. About 22 µg/m³ of PM2.5 over a day is roughly one cigarette (Berkeley Earth), and a rider on a two-wheeler breathes about 30 percent more than the nearest monitor shows (a Delhi on-road study). A typical 10-hour shift comes to about 3.3 cigarettes. These are estimates from fixed monitors, not personal sensor readings.
The build on AWS. The rider app is a React app on AWS Amplify Hosting. A Python Lambda function behind a Function URL, deployed with AWS SAM, answers questions with a rules engine over the data. Amazon Polly speaks the answer in Hindi, DynamoDB logs trips with a 30-day TTL, and the app falls back to on-device answers if the network drops. The rider says “Anand Vihar se Rajiv Chowk” and hears the smoke cost of the ride, a better time to leave, and the nearest metro station to rest. A station planner shows smoke by zone and hour, a simulator for rules like a 15-minute indoor break, and a ranked map for new rest points.
What did not go to plan. We wrote an agent with Strands Agents and Amazon Nova, but Bedrock returned “Operation not allowed” on our new account for every model, so today the replies come from the rules engine. We also hit a Lambda reserved-concurrency limit on a fresh account and a credentials issue with  aws login . The lesson: set up Bedrock access and check account limits on day one, not on the last day.
What a rider told us. One delivery rider told us he has no fixed break for pollution and cannot always change his shift. That is why the Station planner matters: shift changes are a manager’s decision, not the rider’s.
The code is at github.com/Goyamjain06/Edge_testcase. Next: enable the Strands and Nova agent for free-form questions, add a places tool for food and rest stops, and test with more riders.
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