Inspiration
Delhi has 12 civic agencies. No single helpline. Existing bots hallucinate the wrong numbers.
What it does
Routes complaints to the right authority with a cited source, fetches live AQI, shows a 3D map of civic issues, drafts complaints. All backed by Elasticsearch.
How we built it
LangGraph state machine (classify→retrieve→confidence gate→answer) with Elasticsearch Cloud (GCP) for kNN vector search + query analytics in Kibana. Groq LLM, WAQI live data, MapLibre 3D map.
Challenges we ran into
Groq rate limits forced a deterministic fallback chain. Elasticsearch vs Chroma score semantics needed normalization. Building a confidence gate that says "I don't know" instead of guessing.
Accomplishments that we're proud of
Every answer cites a government source. Elasticsearch serves both RAG and live analytics dashboards. Zero-crash fallbacks at every node.
What we learned
Elasticsearch's dense_vector + analytics on the same cluster is powerful for demos. LangGraph makes retry-loops trivial. Delhi's civic data is genuinely fragmented.
What's next for Delhi Civic Sense Navigator
Ward-level jurisdiction lookup, Hindi language support, WhatsApp bot integration, auto-ingestion from PIB/DPCC feeds.
Built With
- elasticsearch-cloud-(gcp)
- fastapi
- groq-llm
- langgraph
- maplibre
- python
Log in or sign up for Devpost to join the conversation.