CivicPulse is an advanced, AI-powered civic complaint management and analytics platform. It bridges the gap between residents and city administrators by leveraging Generative AI to streamline issue reporting, cluster community problems, and provide actionable insights through real-time dashboards.
Try out the deployed application: CivicPulse App
Admin Access Credentials:
- Username:
admin- Password:
1234
CivicPulse utilizes Large Language Models (LLMs) and vector search to transform how civic issues are tracked and resolved. Unlike traditional ticketing systems, CivicPulse understands the context of complaints, automatically grouping similar issues (clustering) and allowing administrators to "chat" with their data to uncover trends.
- Seamless Reporting: User-friendly interface for reporting complaints with severity classification.
- Status Tracking: Real-time updates on complaint resolution (Pending, Open, Resolved).
- Kanban Workflow: Column-based complaint lifecycle management, using action buttons to move issues between Pending, Resolved, and Junked states.
- Hyper-Local Analytics:
- Block-Level Summaries: AI-generated summaries of issues specific to residential blocks.
- Trend Analysis: Visual breakdowns by category, severity, and location.
- Cluster Analysis: Unsupervised Machine Learning (UMAP + DBSCAN) to detect and group systemic community themes from unstructured text.
- AI Assistant: A RAG-based (Retrieval-Augmented Generation) chatbot that answers natural language queries about the complaints database.
Core Infrastructure
- Language: Python 3.10+
- Frontend: Streamlit
- Database: MongoDB Atlas (Vector Search enabled)
Artificial Intelligence & ML
- LLM Provider: Google Gemini (Gemini Flash, Embedding-001)
- Clustering: Scikit-learn (DBSCAN), UMAP
- Libraries:
google-genai,pymongo,pandas,plotly
- Python 3.10+
- MongoDB Atlas Account (Cluster with Vector Search configured)
- Google AI API Key
-
Clone the repository
git clone https://github.com/yourusername/civicPulse.git cd civicPulse -
Install dependencies
pip install -r requirements.txt
-
Environment Setup Create a
.envfile in the root directory:GEMINI_API_KEY=your_api_key_here Mongo_URL=your_mongodb_connection_string
-
Run the Application
streamlit run interface.py