How umdhodi/brics-citizenpulse-ai works
BRICS CitizenPulse AI is a browser-based governance dashboard for collecting multilingual citizen infrastructure requests, mapping demand, and helping policymakers prioritize investment. The principal workflow runs from citizen text or voice input through speech transcription and Gemini or local NLP classification, then presents categorized and urgency-scored requests in map, analytics, and policymaker views. The policymaker view ranks requests, simulates budget impact, and can generate a policy brief. The graph reflects the sampled controller and module behavior plus README-described capabilities; some view initialization and page wiring were not included in the excerpts.
Main entry points: app.js App Controller · geminiEngine.js Request NLP · mockData.js Feedback Records · mapView.js GIS Hotspot Map
Components 14
Citizen Intake
- Speech Recorder
js/speechRecorder.js - Feedback Records
js/mockData.js
Request Processing
- Request NLP
js/geminiEngine.js
Governance Insights
- GIS Hotspot Map
js/mapView.js - Demand Analytics
js/analyticsView.js - Priority & Budget
js/policymakerView.js - Policy Brief
js/geminiEngine.js
Browser Platform
- Web Interface
index.html - App Controller
js/app.js - Nation & Category Config
js/config.js
Other components
- Citizens
- Web Speech API
- Google Gemini
- Carto Map Tiles
Connections 18
- Citizens → Web Interface: submit feedback
- Web Interface → App Controller: dispatch input
- App Controller → Speech Recorder: start recording
- Speech Recorder → Web Speech API: transcribe speech
- Speech Recorder → App Controller: return transcript
- App Controller → Request NLP: process request
- Request NLP → Google Gemini: classify request
- Request NLP → App Controller: return analysis
- App Controller → Feedback Records: update feedback
- App Controller → Nation & Category Config: read nation settings
- GIS Hotspot Map → Feedback Records: read feedback
- GIS Hotspot Map → Nation & Category Config: read map settings
- GIS Hotspot Map → Carto Map Tiles: load tiles
- Demand Analytics → Feedback Records: read feedback
- Priority & Budget → Feedback Records: read feedback
- Priority & Budget → Request NLP: request policy brief
- Request NLP → Google Gemini: synthesize brief
- Request NLP → Policy Brief: return briefing