A campaign intelligence dashboard designed to provide real-time visibility into field operations, voter outreach, and political activity.
Sudarshan simulates a war-room decision system, enabling campaign teams to monitor performance, analyze trends, and act on strategic insights using structured data.
Deployed on Vercel: https://sudarshandashboard.vercel.app
Note: The API might take about a minute to spin up, please note that initial loading may take up to a minute due to Render’s free tier spin-up delay. (API is deployed on render)
Clone the repository:
git clone https://github.com/RishaanVats/Sudarshan.git
cd sudarshanInstall dependencies:
npm installStart development server:
ng serveOpen:
http://localhost:4200
Sudarshan is designed as a frontend analytics system powered by a mock API.
Angular Frontend (Dashboard UI)
│
│ HTTP (REST)
▼
Mock API (json-server)
│
▼
db.json
│
▼
generateData.js
Modern political campaigns rely on centralized dashboards to track:
- volunteer deployment
- booth-level performance
- voter outreach
- sentiment trends
- opposition activity
Sudarshan provides a simulated environment for building and testing such systems using realistic campaign datasets.
✔ Real-time campaign monitoring interface ✔ Modular dashboard architecture ✔ Data-driven UI with charts and tables ✔ Multi-domain campaign intelligence (volunteers, booths, sentiment, etc.) ✔ Built with modern Angular (v21, standalone components) ✔ Designed for scalability and extensibility
- KPI cards (volunteers, outreach, sentiment)
- Trend charts
- Alerts panel
- Volunteer management
- Attendance tracking
- Field activity monitoring
- Booth-wise analytics
- Progress tracking
- Weak booth detection
- Influencer tracking
- Opposition activity monitoring
- Manager reports
- Sentiment distribution
- Outreach trends
- Campaign performance metrics
src/app
├── core
│ ├── services
│ └── models
│
├── layout
│ ├── sidebar
│ ├── header
│ └── layout.component
│
├── shared
│ ├── components
│ │ ├── card
│ │ ├── table
│ │ ├── chart
│ │ └── filter
│
├── features
│ ├── dashboard
│ ├── volunteers
│ ├── booths
│ └── intelligence
Mock API → Angular Services → RxJS → Components → UI
The frontend connects to a mock API (json-server):
Example:
this.http.get('http://localhost:3000/volunteers');Run development server:
ng serveGenerate components:
ng generate component component-nameBuild project:
ng buildRun unit tests:
ng testEnd-to-end testing can be configured as needed.
Sudarshan follows a decision-driven UI approach:
- Monitor → real-time KPIs and alerts
- Analyze → charts and trends
- Act → highlight critical insights
The UI emphasizes:
- clarity
- speed
- actionable intelligence
Rishu Mishra
Electronics Engineer — VIT Vellore Former Web Developer (~3 years experience) UPSC aspirant
This project combines technical expertise with insights from grassroots political campaign operations.
This project is intended for educational and portfolio purposes only.
All data used is synthetic and does not represent real individuals or voters.
MIT License
- real-time data integration
- geospatial booth analytics
- predictive modeling
- AI-driven insights
- social media sentiment tracking
Sudarshan demonstrates how structured data and modern frontend architecture can power campaign intelligence systems and decision-support dashboards.