The app serves parents with asthmatic children in areas like Jayanagar or Whitefield. It ingests real-time AQI data from CPCB, combines it with IMD weather forecasts, BBMP fogging schedules, and disease advisories (dengue, H1N1), then answers a single question in plain English: "Is it safe to go outside today?"
Layers:
Layer 1 — Ingest: Elastic Agent handles multi-source polling. OpenAQ API (primary, reliable, no key needed) for AQI. Lambda + NAT Gateway for IMD (fixed IP for whitelisting). BBMP fogging is scraped via Lambda + NLP extraction into S3, then picked up by Elastic Agent's S3 input. Disease advisories are batch-loaded weekly.
Layer 2 — Store: Elasticsearch Time-Series Data Streams (TSDS) with ILM auto-rollover (hot→warm→cold). Separate indices for AQI, weather, fogging, and diseases. A geo-enrichment index maps Bengaluru's 198 wards to zones for neighbourhood-level queries.
Layer 3 — Process: ES|QL handles time-range aggregations, trend detection, and inline ENRICH joins between AQI and advisory data. AWS Lambda orchestrates the full advisory pipeline — triggered via API Gateway (on-demand) or EventBridge (scheduled digest). Kibana alerting fires a webhook when AQI > 150.
Layer 4 — AI: AWS Bedrock (Claude 3 Haiku) receives a structured context payload from Lambda — current AQI, 24h trend, fogging status, disease alerts, weather forecast — and returns a one-paragraph plain-English advisory. Stays within your AWS VPC, no OpenAI dependency. An output validation Lambda blocks hallucinated "safe" responses when AQI is objectively dangerous.
Layer 5 — Output: Three channels — Kibana (BBMP analyst dashboard), Twilio WhatsApp (parent/senior queries, <3s response), and a React PWA with push notifications and Kannada language support.
Built With
- elastic
- python
Log in or sign up for Devpost to join the conversation.