AI-powered hyperlocal civic issue reporting and resolution platform built with Google Gemini, Firebase, and Google Maps.
LIVE DEMO - https://bit.ly/4eTSiTF
FixMyBlock enables citizens to report infrastructure issues such as potholes, garbage dumps, water leaks, and damaged public assets using images or video frames. Powered by Google Gemini, the platform automatically analyzes the issue, determines its severity, recommends the responsible municipal department, and prioritizes reports based on AI insights and community engagement.
Urban infrastructure issues often remain unresolved due to fragmented reporting systems, lack of transparency, and inefficient prioritization. Citizens struggle to identify the correct municipal department, while authorities receive incomplete reports with little context or verification.
FixMyBlock addresses these challenges by combining AI-powered visual analysis, geolocation, and community verification into a single platform for faster and smarter civic issue management.
- Multimodal image and video frame analysis using Google Gemini.
- Automatic issue categorization and severity assessment.
- Intelligent priority scoring based on severity, community verification, upvotes, affected citizens, and report age.
- Rule-based fallback engine to ensure uninterrupted analysis during AI service outages.
- Upload images or extract frames from videos.
- Automatic reverse geocoding for address and ward detection.
- Interactive Google Maps visualization of reported issues.
- Live incident feed with real-time updates.
- Community verification and upvoting.
- Gamified leaderboard with contributor points and badges.
- Status tracking from Reported → Verified → Assigned → In Progress → Resolved.
-
Real-time dashboard displaying:
- Issue distribution
- Severity breakdown
- Resolution trends
- Top-performing wards
- Secure authentication using Firebase Authentication.
- Cloud Firestore for real-time data synchronization.
| Category | Technologies |
|---|---|
| Frontend | React 19, TypeScript, Vite, Tailwind CSS |
| Backend | Node.js, Express.js |
| AI | Google Gemini 3.5 Flash |
| Database | Cloud Firestore |
| Authentication | Firebase Authentication |
| Maps | Google Maps Platform, Geocoding API |
| Charts | Recharts |
| Animations | Framer Motion |
-
User signs in using Firebase Authentication.
-
A civic issue is reported with an image or video frame.
-
GPS coordinates are captured and converted into a readable location.
-
Google Gemini analyzes the uploaded media to identify:
- Issue category
- Severity
- Estimated impact
- Responsible department
-
The report is stored in Firestore.
-
Community members verify and upvote reports.
-
Priority scores are updated dynamically.
-
Municipal authorities monitor and resolve issues through the dashboard.
- Multimodal image understanding
- Infrastructure damage detection
- Automated issue classification
- Severity estimation
- Municipal department recommendation
- Structured JSON responses for reliable frontend integration
Citizen
│
▼
React Frontend
│
├── Firebase Authentication
├── Cloud Firestore
├── Google Maps Platform
│
▼
Express Backend
│
▼
Google Gemini AI
│
▼
AI Analysis
│
▼
Community Verification
│
▼
Municipal Resolution Dashboard
git clone <repository-url>
cd FixMyBlock
npm install
npm run devCreate a .env file with the following variables:
GEMINI_API_KEY=
GOOGLE_MAPS_PLATFORM_KEY=
APP_URL=- Built a resilient AI pipeline with automatic fallback when Gemini is unavailable.
- Implemented multimodal image and video frame processing.
- Designed a dual reverse-geocoding system using Google Maps with OpenStreetMap fallback.
- Optimized API payloads by extracting lightweight video frames instead of uploading full videos.
- Firebase Storage integration for media uploads.
- Dedicated municipal administration portal.
- Push notifications for status updates.
- Historical analytics and predictive maintenance.
- Native Android and iOS applications.