Inspiration
I've created a comprehensive Indianapolis Resident Chatbot application with a modern, professional interface that serves the city's 870,000+ residents. The application integrates with Azure OpenAI and provides a full-featured experience with city services information, FAQs, and an intuitive chat interface.
The application features a clean, Apple-inspired design with the Indianapolis city color scheme, responsive layouts for all devices, and accessibility considerations. The chat interface provides real-time interactions with the AI assistant, while the services directory and FAQ sections make it easy for residents to find information quickly.
The emergency button feature ensures residents can quickly access critical services when needed. All components are organized into small, focused files following best practices for code maintainability and performance. It was created using Bolt, TypeScript, Azure OpenAI, and Vite.
What it does
IndyAssist, a web application which provides residents of Indianapolis with an AI-powered assistant that answers questions about:
- Trash pickup schedules
- Property tax information
- City council contact info
- Public transportation updates
- Local events and resources
- Emergency contacts (911, IMPD, IFD)
It features:
- Natural language processing to understand diverse resident queries
- A searchable FAQ and categorized services directory
- An "Emergency Help" button with geolocation option
- Real-time response and helpful suggestions
IndyAssist Architecture

How we built it
- Frontend: Built using Vite and TypeScript for high-speed builds and maintainable code
- Backend: Integrated Azure OpenAI via Bolt framework to manage requests
- Design: Apple-inspired, accessible, and mobile-responsive with Indianapolis colors
- Data: Uses city datasets and APIs (like Indy.gov and OpenIndy Data Portal)
- Hosting: Azure Static Web Apps and Azure Functions
Challenges we ran into
- Accessing structured city data was tricky due to inconsistent APIs
- Handling emergency response integration without risking false alerts
- Ensuring accessibility for vision-impaired and elderly users
- Managing AI responses to ensure relevance and avoid hallucinations
Accomplishments that we're proud of
- Delivered a polished, accessible UI with a local, community-first aesthetic
- Achieved fast, accurate AI responses using Azure OpenAI with real city datasets
- Developed an emergency feature that works across devices with low latency
- Created a maintainable codebase with clean modular structure
What we learned
- Azure OpenAI is powerful but requires careful prompt engineering for locality-specific answers
- Civic apps require a high level of trust and reliability, especially in emergencies
- Accessibility and user testing with real Indianapolis residents improved our UX
- Designing with real city infrastructure (services and API limitations) requires flexibility
What's next for Indyassist
- Expand support to Spanish and other commonly spoken languages in Indianapolis
- Add voice input/output for visually impaired users
- Partner directly with Indianapolis City Hall for deployment on the official website
- Enable SMS/WhatsApp-based chatbot for residents without internet access
- Train AI on 311 call logs (anonymized) to improve FAQ relevance
IndyAssist is a win-win: modern AI meets civic service, improving lives across Indianapolis.
Built With
- azureopenai
- typescript
- vite

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