🚨 Inspiration
Indianapolis, a city of over 870,000 residents, continues to face challenges in real-time hazard reporting, community safety, and emergency communication. In critical moments — road accidents, unsafe conditions, or natural disasters — people often don’t know where to report, what to do, or whom to trust.
AlgoArena challenged us to think about using technology For Social Good, and this gap inspired IndySafe Chat — an AI-powered public safety assistant that makes safety reporting and real-time alerts accessible, reliable, and fast through simple conversations.
🤖 What it does
IndySafe Chat empowers citizens to:
- Instantly report hazards via text, voice, and image upload.
- Submit quick hazard reports with a simple form.
- Receive location-based real-time alerts about nearby emergencies.
- Get AI-driven safety guidance through natural language chat powered by Gemini via Genkit.
- Find nearby emergency services (hospitals, police, shelters) using Geoapify Places API.
- Upload images tied to geolocation for better clarity and faster response.
- Use voice input via Web Speech API for hands-free accessibility.
- Browse a live feed of public reports and city alerts to stay informed.
- Transform community conversations into action — turning citizen voices into real-time safety data.
"We believe public safety should be as easy as sending a message."
🛠️ How We Built It
We crafted IndySafe Chat using:
- Frontend: Next.js + React + TypeScript
- Styling: Tailwind CSS + ShadCN UI
- AI Orchestration: Genkit with Gemini models for conversational flows
- Database: Firebase Firestore for hazard reports and real-time updates
- Mapping & Location: Geoapify APIs (Maps, Geocoding, Places)
- Voice Input: Web Speech API
- Deployment: Vercel for seamless frontend-backend integration
⚔️ Challenges We Faced
- Syncing voice, text, and image inputs smoothly.
- Building real-time flows with Firebase under time pressure.
- Handling secure image uploads linked to locations.
- Designing a clean UI for high-stakes emergency use.
- Testing Genkit flows without interrupting production builds.
✅ Accomplishments
- End-to-end deployed app with real-time reporting and alerts.
- Integrated voice and image inputs for inclusive hazard reporting.
- Mapped incidents with Geoapify APIs for clarity and quick situational awareness.
- Created a system ready to scale and save lives beyond Indianapolis.
📚 What We Learned
- How to design for civic tech impact under hackathon constraints.
- Balancing AI complexity and user safety needs.
- Using real-time data (Firebase) for immediate community benefit.
- Building with accessibility and multilingual needs in mind.
🚀 Next Steps
- Add multilingual support to make safety reporting inclusive even for non-English speakers across the city.
- Integrate SMS/WhatsApp alerts via Twilio.
- Build an admin dashboard for city officials to monitor hazards.
- Partner with 911 and local emergency services.
- Expand to other cities needing community-first safety solutions.
"IndySafe Chat is not just a hackathon prototype — it’s a civic-tech solution designed to make communities safer, stronger, and more connected."
Built With
- firebase-firestore
- gemini
- genkit
- geoapify-api
- next.js
- react
- shadcn-ui
- tailwind-css
- typescript
- vercel
- web-speech-api

Log in or sign up for Devpost to join the conversation.