Inspiration
Urban citizens often struggle during emergencies — whether it's a medical issue, road hazard, or civic problem like garbage or broken streetlights. There was no unified, AI-assisted platform that provided both first-aid guidance and city issue reporting in real time.
This inspired us to build CityAid India — a platform that empowers users with emergency help, local hospital info, and civic engagement tools — powered by modern tech and AI.
What it does
CityAid India provides a comprehensive urban safety toolkit:
🧠 AI-first aid assistant: Symptom-based voice/text instructions 🏥 Hospital finder: Locate real hospitals near you using OpenStreetMap 🛠️ City issue reporting: Report potholes, streetlights, garbage with GPS + photos 📣 Emergency alerts: Real-time updates for your location 👤 User profiles: Track your impact and reports 🔐 Admin dashboard: Manage reports, alerts, and user roles
How we built it
We built CityAid using a modern web stack and learned everything as we built:
Frontend: React 18 + TypeScript + Vite Styling: Tailwind CSS Maps: Leaflet + React Leaflet Backend: Supabase (PostgreSQL + Auth + Row Level Security) AI Assistant: ElevenLabs Convai (floating widget) APIs: OpenStreetMap Overpass API + Nominatim for real-time data Hosting & Dev Tools: GitHub + Netlify + Bolt.new for rapid development
Challenges we ran into
We had zero experience with React and TypeScript — everything was new. Setting up Supabase with secure RLS policies and user roles took trial and error. Working with real-time map data and multiple API fallbacks was technically complex. Building a responsive UI while learning Tailwind CSS was initially tough. Integrating AI tools like ElevenLabs and handling voice interactions was new territory.
Accomplishments that we're proud of
Built a fully working platform from scratch in a new tech stack Integrated live hospital data using Overpass API with fallback logic Successfully embedded an AI assistant for natural user interaction Implemented full user authentication + admin roles with Supabase Created a smooth, responsive experience on both desktop and mobile Learned React and TypeScript while shipping a production-ready project
What we learned
How to build with React + TypeScript from scratch Tailwind CSS utility-first design and layout techniques Setting up a secure Supabase backend with RLS and role-based access Handling geolocation, real-time data fetching, and API error fallback Embedding AI assistants into user workflows (Convai from ElevenLabs) Using tools like Bolt.new and AI pair programming to accelerate learning
What's next for CityAid - India Smart Urban Safety Assistant
🌐 Add multi-language support for Indian regional languages 📲 Launch a PWA version for offline-first functionality 🔔 Enable push notifications for high-priority alerts 🏆 Build a gamified badge/impact system to encourage contributions 🤝 Introduce community leaderboards and public issue maps 📤 Add data export and analytics for city officials and NGOs 🔐 Expand AI capabilities for mental health, CPR, and voice-only workflows
Built With
- auth
- bolt.new
- elevenlabs
- github
- leaflet.js
- netlify
- openstreetmap
- overpass
- postgresql
- pwa
- react
- rls
- supabase
- tailwind
- typescript
- vite
Log in or sign up for Devpost to join the conversation.