<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Varun Hameer Dutia</title>
    <description>The latest articles on DEV Community by Varun Hameer Dutia (@varun_hameerdutia_3ec29c).</description>
    <link>https://dev.to/varun_hameerdutia_3ec29c</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4032789%2F0c67182e-cf9d-4a14-9a36-406eaa5bcd90.jpg</url>
      <title>DEV Community: Varun Hameer Dutia</title>
      <link>https://dev.to/varun_hameerdutia_3ec29c</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/varun_hameerdutia_3ec29c"/>
    <language>en</language>
    <item>
      <title>Beyond the AQI Number: Building AirAware India with AI and Google Cloud</title>
      <dc:creator>Varun Hameer Dutia</dc:creator>
      <pubDate>Wed, 26 Aug 2026 11:45:38 +0000</pubDate>
      <link>https://dev.to/varun_hameerdutia_3ec29c/beyond-the-aqi-number-building-airaware-india-with-ai-and-google-cloud-5g1g</link>
      <guid>https://dev.to/varun_hameerdutia_3ec29c/beyond-the-aqi-number-building-airaware-india-with-ai-and-google-cloud-5g1g</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fccdwi3e8d9j7dnym78ht.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fccdwi3e8d9j7dnym78ht.png" alt="Proposed Solution" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  AirAware India with AI and Google Cloud
&lt;/h2&gt;

&lt;p&gt;Air quality has become something many of us check almost like the weather. We open an app, search for our city, and see a number:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;AQI: 168 — Moderate&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;But I started thinking about what happens after that.&lt;/p&gt;

&lt;p&gt;What does that number actually tell an ordinary person? Which pollutant is contributing most to the current conditions? How different is the air quality between places I regularly travel to? And can all of this environmental data be made easier to understand without expecting users to interpret multiple pollutant readings themselves?&lt;/p&gt;

&lt;p&gt;That question became the starting point for &lt;strong&gt;AirAware India&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  From an AQI Number to Understandable Information
&lt;/h2&gt;

&lt;p&gt;India already has an extensive air-quality monitoring ecosystem. The &lt;strong&gt;Central Pollution Control Board (CPCB)&lt;/strong&gt; publishes air-quality information from monitoring stations across the country, including measurements for pollutants such as PM2.5, PM10, NO₂, SO₂, CO and O₃.&lt;/p&gt;

&lt;p&gt;The problem I want to explore isn't the absence of data.&lt;/p&gt;

&lt;p&gt;It's the gap between &lt;strong&gt;having environmental data and making that data easy to interrogate and understand&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AirAware India&lt;/strong&gt; is my concept for an AI-powered air-quality intelligence assistant that adds a conversational layer over real environmental measurements.&lt;/p&gt;

&lt;p&gt;Instead of only looking at a dashboard, I want users to be able to ask questions such as:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Why is the air quality poor today?"&lt;/p&gt;

&lt;p&gt;"Which pollutant is contributing the most right now?"&lt;/p&gt;

&lt;p&gt;"Compare the air quality around my saved locations."&lt;/p&gt;

&lt;p&gt;"Explain these readings without all the technical terminology."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The goal isn't to replace existing air-quality platforms. It's to explore whether generative AI can make their underlying information more accessible and useful.&lt;/p&gt;




&lt;h2&gt;
  
  
  AI Should Explain the Data — Not Invent It
&lt;/h2&gt;

&lt;p&gt;This is probably the most important design decision behind AirAware.&lt;/p&gt;

&lt;p&gt;Large language models are excellent at understanding questions and explaining complex information, but environmental measurements should not come from a model's memory.&lt;/p&gt;

&lt;p&gt;So if someone asks AirAware about current air quality, I don't want Gemini to guess the answer.&lt;/p&gt;

&lt;p&gt;The intended workflow is:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;User Question
     ↓
Retrieve Air-Quality Data
     ↓
Validate the Readings
     ↓
Analyse the Data
     ↓
Gemini
     ↓
Human-Readable Explanation
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This separates two responsibilities.&lt;/p&gt;

&lt;p&gt;The application and its data sources determine &lt;strong&gt;what the measurements actually say&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Gemini helps determine &lt;strong&gt;how those measurements can be explained to the user&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;For example, if particulate matter is driving the air-quality reading at a selected monitoring location, AirAware could highlight the relevant pollutant and explain what the measurement represents in straightforward language.&lt;/p&gt;

&lt;p&gt;The underlying number remains grounded in the source data.&lt;/p&gt;




&lt;h2&gt;
  
  
  Building AirAware on Google Cloud
&lt;/h2&gt;

&lt;p&gt;I'm developing this idea as part of the &lt;strong&gt;Gen AI Academy APAC Cohort 3 Ideathon&lt;/strong&gt;, where the challenge is to create a production-ready AI application using Cloud Run, Firebase and Gemini.&lt;/p&gt;

&lt;p&gt;The proposed architecture for AirAware has four main pieces.&lt;/p&gt;

&lt;h3&gt;
  
  
  Cloud Run
&lt;/h3&gt;

&lt;p&gt;The application will be deployed using &lt;strong&gt;Google Cloud Run&lt;/strong&gt;, providing the backend that connects user requests, environmental data and the AI layer.&lt;/p&gt;

&lt;h3&gt;
  
  
  Firebase Authentication
&lt;/h3&gt;

&lt;p&gt;AirAware will use &lt;strong&gt;Firebase Authentication&lt;/strong&gt; so users can securely access personalised functionality rather than everyone sharing the same anonymous application state.&lt;/p&gt;

&lt;h3&gt;
  
  
  Firestore
&lt;/h3&gt;

&lt;p&gt;With &lt;strong&gt;Firestore&lt;/strong&gt;, users will be able to maintain information such as saved locations and relevant application history.&lt;/p&gt;

&lt;p&gt;This opens up more interesting interactions.&lt;/p&gt;

&lt;p&gt;Instead of repeatedly entering the same locations, a user could eventually ask:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Compare the air around home and work."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The application already knows which locations they mean.&lt;/p&gt;

&lt;h3&gt;
  
  
  Gemini
&lt;/h3&gt;

&lt;p&gt;The &lt;strong&gt;Gemini API&lt;/strong&gt; provides the conversational intelligence.&lt;/p&gt;

&lt;p&gt;Gemini can understand what the user is asking, work with the data supplied by the application and transform technical information into a clearer explanation.&lt;/p&gt;

&lt;p&gt;The distinction is important:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Gemini is the reasoning and communication layer, not the source of the environmental measurements.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Going Beyond Another AQI Dashboard
&lt;/h2&gt;

&lt;p&gt;There are already applications that do an excellent job of displaying air-quality information.&lt;/p&gt;

&lt;p&gt;So building another screen containing an AQI number and a coloured circle isn't particularly interesting.&lt;/p&gt;

&lt;p&gt;I want AirAware to focus on the questions behind that number.&lt;/p&gt;

&lt;h3&gt;
  
  
  Why Is My Air Bad?
&lt;/h3&gt;

&lt;p&gt;Instead of only displaying the overall AQI category, the application could present the available pollutant measurements and help users understand which pollutant is most significant in the reported conditions.&lt;/p&gt;

&lt;h3&gt;
  
  
  Compare My Locations
&lt;/h3&gt;

&lt;p&gt;Users could save places they regularly spend time around and compare the available monitoring data associated with those locations.&lt;/p&gt;

&lt;p&gt;For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Home       → Hyderabad
Work       → HITEC City
Family     → Secunderabad
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;A user could then ask:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"How does the air around home compare with work?"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  Understand My Air History
&lt;/h3&gt;

&lt;p&gt;Another direction is an air-history view, where stored observations could be analysed to explain how conditions changed over time.&lt;/p&gt;

&lt;p&gt;Rather than forcing users to interpret a graph themselves, they could ask:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"What changed this week?"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The statistics would be calculated by the application. Gemini's role would be to explain the result.&lt;/p&gt;




&lt;h2&gt;
  
  
  Handling Imperfect Real-World Data
&lt;/h2&gt;

&lt;p&gt;One thing I particularly like about this project is that the data isn't artificially clean.&lt;/p&gt;

&lt;p&gt;Real-world sensor data can be missing, delayed or abnormal.&lt;/p&gt;

&lt;p&gt;That means AirAware needs a validation layer between the external data source and the AI system.&lt;/p&gt;

&lt;p&gt;The intended pipeline therefore looks like:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Raw Observation
      ↓
Validation
      ↓
Normalisation
      ↓
Analysis
      ↓
Gemini
      ↓
User
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If a reading appears unavailable or unreliable, the application should say so rather than quietly asking the AI to fill in the gap.&lt;/p&gt;

&lt;p&gt;For me, this is an important part of building responsible AI applications: knowing when the system &lt;strong&gt;doesn't have enough reliable information to answer confidently&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  Responsible AI by Design
&lt;/h2&gt;

&lt;p&gt;Air quality also touches health, which creates another important boundary.&lt;/p&gt;

&lt;p&gt;AirAware is not intended to diagnose medical conditions or replace professional health advice.&lt;/p&gt;

&lt;p&gt;The application should distinguish between explaining environmental information and making individual medical decisions.&lt;/p&gt;

&lt;p&gt;I'm planning around a few important principles:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Current environmental values should come from the connected data source, not generated model knowledge.&lt;/li&gt;
&lt;li&gt;Measurements should retain information about their location and observation time wherever available.&lt;/li&gt;
&lt;li&gt;Missing or abnormal readings should be identified rather than silently interpreted as normal data.&lt;/li&gt;
&lt;li&gt;Personal information stored for authenticated users should remain separated between accounts.&lt;/li&gt;
&lt;li&gt;Secrets and API credentials should remain on the server side and never be exposed through the client or public repository.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For me, building the safeguards is part of building the product — not something to add after the AI features are finished.&lt;/p&gt;




&lt;h2&gt;
  
  
  What I'm Building Next
&lt;/h2&gt;

&lt;p&gt;AirAware India is currently moving from concept to prototype.&lt;/p&gt;

&lt;p&gt;My next step is validating the available air-quality data and building the first end-to-end workflow:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Sign In
   ↓
Select Location
   ↓
Retrieve Measurements
   ↓
Analyse Data
   ↓
Ask Gemini
   ↓
Receive a Grounded Explanation
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;From there, I plan to experiment with saved locations, comparisons and historical insights while keeping the first version small enough to remain reliable.&lt;/p&gt;

&lt;p&gt;This project is also an opportunity for me to explore a larger question:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Can generative AI make public datasets genuinely easier for people to use, rather than simply generating more information?&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That's what I hope to find out while building &lt;strong&gt;AirAware India&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;More updates and a working prototype soon.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;#AccelerateAIwithCloudRun&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>googlecloud</category>
      <category>gemini</category>
    </item>
  </channel>
</rss>
