Inspiration Navigating city services and local information in Indianapolis can be complex. We wanted to simplify this by creating a secure, scalable AI chatbot that acts as a digital assistant for residents, workers, and visitors, providing on-demand access to essential city resources and services.
What it does IndyChat helps users find real-time info about local government services, transit routes, healthcare, housing, events, and more. It offers neighborhood-specific insights, supports civic engagement, and enhances accessibility through voice responses via text-to-speech.
How we built it We built the frontend using Next.js with TypeScript and TailwindCSS, hosted on Vercel. Firebase powers authentication, Firestore for the database, and Firebase Storage for assets. ElevenLabs provides TTS capabilities. Security is enforced through Firebase Admin SDK, session cookies, and secure middleware.
Challenges we ran into Integrating real-time data sources for IndyGo transit and housing services was technically challenging. Ensuring accessibility while maintaining performance and data privacy also required thoughtful architectural decisions and thorough security practices.
Accomplishments that we're proud of We’re proud of creating a unified digital experience that makes Indianapolis more accessible. The platform is both secure and scalable, with voice accessibility features, real-time service data, and easy deployment via Vercel and Firebase integration.
What we learned We deepened our understanding of secure authentication, efficient data fetching, and integrating APIs like ElevenLabs. We also learned the importance of balancing usability, accessibility, and security in civic tech applications.
What's next for SmartChat We plan to integrate multi-language support, expand neighborhood-specific datasets, add personalized user dashboards, and collaborate with local agencies to onboard more real-time services and alerts tailored to each user's location and needs.
Built With
- firebase
- next.js
- tailwind
- typescript
Log in or sign up for Devpost to join the conversation.