Skip to content

Repository files navigation

🏙️ CivicPulse

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.

🌐 Deployed App

Try out the deployed application: CivicPulse App

Admin Access Credentials:

  • Username: admin
  • Password: 1234

📜 Table of Contents


💡 About

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.


🚀 Key Features

👤 Resident Portal

  • Seamless Reporting: User-friendly interface for reporting complaints with severity classification.
  • Status Tracking: Real-time updates on complaint resolution (Pending, Open, Resolved).

🛡️ Admin Dashboard

  • 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.

🛠️ Tech Stack

Core Infrastructure

Artificial Intelligence & ML

  • LLM Provider: Google Gemini (Gemini Flash, Embedding-001)
  • Clustering: Scikit-learn (DBSCAN), UMAP
  • Libraries: google-genai, pymongo, pandas, plotly

📸 Screenshots

1homepage
2residentportal
3 1admindasboard
3 2admindasboard
3 3admindasboard
3 4admindasboard

⚡ Getting Started

Prerequisites

  • Python 3.10+
  • MongoDB Atlas Account (Cluster with Vector Search configured)
  • Google AI API Key

Installation

  1. Clone the repository

    git clone https://github.com/yourusername/civicPulse.git
    cd civicPulse
  2. Install dependencies

    pip install -r requirements.txt
  3. Environment Setup Create a .env file in the root directory:

    GEMINI_API_KEY=your_api_key_here
    Mongo_URL=your_mongodb_connection_string
  4. Run the Application

    streamlit run interface.py

About

CivicPulse is an AI-powered civic complaint management platform that helps residents report issues and enables administrators to analyze, track, and resolve them efficiently using intelligent insights and visual dashboards.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages