ResourceAI is a high-performance, AI-driven disaster management platform developed for the Google Solution Challenge 2026. It transforms chaotic field data into actionable intelligence, enabling NGOs to deploy the right resources to the right places in record time.
Access ResourceAI Now - Deployed on Firebase Hosting
This project utilizes Google Gemini 1.5 Flash to solve the critical problem of information overload during disasters. By automating the extraction of structured data from messy reports and datasets, ResourceAI ensures that decision-makers can act on facts, not noise.
- Structured AI Extraction: Uses a strict prompt engineering layer to transform unstructured text, surveys, and files into validated JSON data.
- Multi-Format Processing: Native support for CSV (PapaParse), Excel (XLSX), TXT, and simulated PDF extraction.
- Intelligent Inference: Gemini automatically infers missing locations, estimates affected populations, and calculates mission priority.
- Deterministic Fallback: A robust rule-based engine takes over if AI services are throttled or unavailable, ensuring 100% uptime for critical reporting.
- Geospatial Insights: Real-time map visualization using React-Leaflet, color-coded by urgency level.
- AI Analytics Dashboard: Instant visualization of disaster trends, most active zones, and critical resource needs.
- Personnel Registry: Real-time tracking of volunteer status (Available, Nearby, On Mission) with instant synchronization across the network.
- AI-Driven Matching: Automatically pairs high-priority needs with the best-suited volunteers based on skill-matching, geographic proximity, and availability.
- Bidirectional Deployment Flow:
- NGOs can "Deploy" response teams with a single click.
- Volunteers receive instant mission alerts.
- Volunteers can Accept or Reject missions, with live status feedback (β /β) visible to NGOs.
- Urgent Broadcast System: NGOs can trigger global broadcasts to the entire volunteer network if the matching engine finds no local personnel.
- Firestore Sync: Leveraging Firebase
onSnapshotfor millisecond-latency updates on mission status, volunteer responses, and field reports. - Unified Alerts: Role-based notifications for both NGOs (new reports/responses) and Volunteers (new assignments/broadcasts).
| Layer | Technology |
|---|---|
| Frontend | React 19 (Vite), Tailwind CSS, Lucide React |
| Backend | Firebase (Firestore, Authentication) |
| AI Engine | Google Gemini 1.5 Flash API |
| Mapping | React-Leaflet (OpenStreetMap) |
| Processing | PapaParse (CSV), SheetJS (Excel) |
| Hosting | Firebase Hosting |
- Node.js 18+ and npm
- A Firebase project with Firestore enabled
- Google Gemini API key
-
Clone the repository:
git clone <repository-url> cd smart-resource-app
-
Install dependencies:
npm install
-
Configure Environment Variables: Create a
.envfile in the root directory:VITE_FIREBASE_API_KEY=your_firebase_key VITE_FIREBASE_AUTH_DOMAIN=your_project.firebaseapp.com VITE_FIREBASE_PROJECT_ID=your_project_id VITE_FIREBASE_STORAGE_BUCKET=your_project.appspot.com VITE_FIREBASE_MESSAGING_SENDER_ID=your_sender_id VITE_FIREBASE_APP_ID=your_app_id VITE_GEMINI_API_KEY=your_gemini_api_key
-
Launch Development Server:
npm run dev
The app will be available at
http://localhost:5173 -
Build for Production:
npm run build
-
Deploy to Firebase:
firebase deploy
smart-resource-app/
βββ src/
β βββ components/ # Reusable React components
β βββ context/ # Auth and global state management
β βββ pages/ # Page components (Dashboard, Login, etc.)
β βββ utils/ # Helper functions and seed data
β βββ App.jsx # Main app router
β βββ firebase.js # Firebase configuration
β βββ main.jsx # Entry point
βββ functions/ # Cloud Functions for backend logic
βββ dataconnect/ # Firebase Data Connect configuration
βββ public/ # Static assets
βββ dist/ # Production build (Firebase Hosting)
- Command Center access with real-time mission tracking
- Map Insights with disaster zone visualization
- AI Analytics dashboard for trend analysis
- Volunteer Management and status monitoring
- One-click Deployment Control
- AI-powered resource recommendations
- Submit disaster reports and affected area data
- File uploads (CSV, Excel, TXT, PDF)
- Real-time status management (Available, Nearby, On Mission)
- Instant mission alerts and notifications
- Accept/Reject mission assignments
- Live tracking and communication
- Volunteers submit field reports β AI Extraction Pipeline β Structured Data β NGO Dashboard
- NGO reviews AI-extracted insights and prioritizes missions
- NGO creates mission request β AI Matching Engine β Volunteer Selection
- Selected volunteers receive instant alerts
- Bidirectional communication: Accept/Reject with live status feedback
- Firestore listener updates all connected clients instantly
- Zero-latency mission status updates across the network
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
# Development
npm run dev # Start development server
npm run build # Build for production
npm run preview # Preview production build
npm run lint # Run ESLint
# Firebase
firebase deploy # Deploy to Firebase Hosting
firebase serve # Serve locally with Firebase emulator
firebase login # Login to Firebase- Clear
node_modulesandpackage-lock.json, then runnpm install - Ensure Node.js version is 18 or higher:
node --version
- Verify Firebase credentials in
.envfile - Check Firebase console for project settings
- Ensure Firestore database is created and accessible
- Verify API key is valid and active
- Check API quota usage in Google Cloud Console
- Ensure API is enabled for your project
This project is licensed under the MIT License - see the LICENSE file for details.
For issues, questions, or suggestions:
- Open an issue on GitHub
- Contact the development team
- Check existing documentation
ResourceAI β Harnessing AI to save lives and optimize every second.
Built with β€οΈ for the Google Solution Challenge 2026 | View Live Demo