A comprehensive AI-powered system for the Vadodara Municipal Corporation (VMC) to automate complaint registration via voice calls and provide real-time analytics through a modern dashboard.
- Real-time Statistics: Monitor pending, resolved, and critical complaints.
- Urgency Classification: AI-driven categorization of complaints (Critical, High, Medium, Low).
- Zone-wise Analysis: Interactive charts showing complaint distribution across zones (North, South, East, West).
- Department Metrics: Track performance and load per department.
- Trend Analysis: Visual activity trends for the past week.
- Automated Call Handling: Inbound/Outbound call management using Twilio.
- Speech-to-Text: Transcription of user complaints.
- Multilingual Support: Handling Gujarati, Hindi, and English.
- Auto-Registration: Direct insertion of voiced complaints into the database.
- SMS Confirmation: Instant SMS notification sent to the caller with their unique Complaint ID for tracking.
- Framework: React 19 + Vite
- Styling: Tailwind CSS
- Charts: Recharts
- Icons: Lucide React
- Framework: FastAPI (Python)
- Database: MongoDB (pymongo)
- Validation: Pydantic
- ML/AI:
- Scikit-learn (TF-IDF for text features)
- RapidFuzz (Fuzzy string matching for categories)
- Hugging Face Transformers (DistilBERT
distilbert-base-uncasedfor semantic understanding)
- Runtime: Node.js
- Telephony: Twilio Voice API & Messaging API (SMS)
- AI Modules: Custom speech processing modules (in
src)
- Node.js (v18+)
- Python (v3.9 - v3.12)
- MongoDB Connection URI
Navigate to the fast_api directory:
cd fast_apiCreate a virtual environment and install dependencies:
python -m venv venv
# Windows
venv\Scripts\activate
# Mac/Linux
source venv/bin/activate
pip install -r requirements.txtRun the API:
python -m uvicorn app.main:app --reload
# API runs at http://localhost:8000Navigate to the frontend directory:
cd frontendInstall dependencies and start dev server:
npm install
npm run dev
# Dashboard runs at http://localhost:5173Create a .env file in the root or respective folders with the following keys:
MONGO_URI: Your MongoDB connection string.TWILIO_ACCOUNT_SID: (For Voice Agent)TWILIO_AUTH_TOKEN: (For Voice Agent)