Real-time public transport crowd monitoring and predictive analytics MVP. Designed to help authorities and commuters visualize crowd density, detect risks, and optimize train operations.
Built collaboratively by Amoghavarsh Desai and ChatGPT (OpenAI) π€
Crowd-Pulse is a demo prototype (MVP) that simulates how public transport systems (e.g., metros, subways) can:
- π Track real-time platform crowd density
- π Compare expected vs actual train loads
- π Raise alerts for overcrowding or sensor inconsistencies
- π Visualize historical crowd trends
- π Enable smart, data-driven transit decisions
Itβs designed as a starting point for cities, researchers, or civic tech hackers who want to reduce stampedes, delays, and discomfort in public transport.
Crowd-Pulse/
βββ backend/ # Express.js API for mock crowd simulation & risk analysis
β βββ index.js
β βββ crowd_history.json
β βββ package.json
βββ frontend/ # React + Material UI + Chart.js dashboard
β βββ src/
β β βββ CrowdTrendDashboard.jsx
β βββ vite.config.js
β βββ package.json
βββ README.md
β Crowd Estimation from:
- Ticket check-ins
- Device ping approximations (simulated)
β Insights Engine:
- Calculates density (people/mΒ²)
- Computes train load vs capacity
- Flags high-risk conditions (e.g., overcrowding)
β Historical Logging:
- Saves every simulation step to JSON
- Visualized with line charts
β Frontend Dashboard:
- Station selector
- Auto-refresh every 10s
- Responsive and clean UI using Material UI
cd backend
npm install
npm startStarts the mock server at: http://localhost:8000/mock-crowd
cd frontend
npm install
npm run devOpens the dashboard at: http://localhost:5173
Coming soon!
- Amoghavarsh Desai β Ideation, Design, Engineering
- ChatGPT (OpenAI) β Rapid prototyping, logic architecture, and code generation
- Live integration with metro check-in APIs or IoT devices
- SMS/push alerts to passengers
- Multi-station congestion forecasting
- Admin panel for transport authorities
MIT β Free to use, fork, or modify.
Letβs make cities safer, smarter, and commuter-friendly β one pulse at a time. π¦π