Rapid volunteer mobilization for disasters and emergencies
SurgeAid is a community-powered emergency response platform that instantly mobilizes local volunteers through smart SMS alerts. When disaster strikes, every second counts - our platform creates rapid response networks in communities to ensure help arrives quickly.
- Instant reporting: Report emergencies with precise location data and resource needs
- Real-time alerts: Emergency reports trigger immediate SMS notifications to nearby volunteers
- Live incident feed: View all active incidents in real-time with status updates
- Simple signup: Join the volunteer network with basic contact information and skills
- SMS-based alerts: No app required - receive emergency notifications via SMS
- Background verification: Trusted volunteer network for community safety
- Skills-based matching: Volunteers can specify their skills and areas of expertise
- Real-time visualization: Interactive map showing active incidents and volunteer responses
- Dual data sources: Displays both USGS earthquake data and community-reported incidents
- Response tracking: Monitor volunteer response times and activity
- Sub-60 second response: From incident report to volunteer alert in under a minute
- Location-based targeting: Alerts sent to volunteers in the affected area
- One-tap response: Simple SMS interface with response links
- Frontend: Next.js 15, React 19, Tailwind CSS
- Backend: Next.js API routes, Firebase Firestore
- Maps: Leaflet with React-Leaflet integration
- SMS Integration: Twilio API for emergency notifications
- Real-time Data: USGS earthquake API integration
- Icons: Lucide React for consistent iconography
- Node.js 18+ and npm
- Firebase project with Firestore enabled
- Twilio account for SMS functionality
-
Clone the repository
git clone https://github.com/your-username/surgeaid.git cd surgeaid -
Install dependencies
npm install
-
Configure Firebase
- Create a Firebase project at https://console.firebase.google.com
- Enable Firestore Database
- Update
lib/firebase.jswith your Firebase configuration
-
Configure Twilio (Optional for SMS alerts)
- Sign up at https://www.twilio.com
- Get your Account SID, Auth Token, and phone number
- Update
app/api/trigger-alert/route.jswith your Twilio credentials
-
Run the development server
npm run dev
-
Open your browser Navigate to http://localhost:3000
surgeaid/
βββ app/
β βββ api/
β β βββ disasters/ # USGS earthquake data API
β β βββ trigger-alert/ # SMS alert system
β βββ components/
β β βββ NavBar.jsx # Navigation component
β β βββ MapDisasters.jsx # Interactive map component
β βββ map/ # Live response map page
β βββ report/ # Emergency reporting page
β βββ volunteer/ # Volunteer signup page
β βββ layout.js # Root layout
β βββ page.js # Home page
βββ lib/
β βββ firebase.js # Firebase configuration
βββ package.json
Volunteer visits /volunteer β Fills out form β Data stored in Firestore β SMS alerts enabled
Incident occurs β Report submitted at /report β Stored in Firestore β SMS sent to volunteers β Map updated
Users visit /map β Live incidents displayed β USGS + community data β Response metrics shown
{
name: "John Doe",
phone: "+1234567890",
skills: "Medical training, CPR certified",
subscribed: true,
createdAt: Timestamp
}{
title: "House fire on Main Street",
description: "Structure fire, need medical support",
lat: 40.7128,
lng: -74.0060,
createdAt: Timestamp
}Fetches real-time earthquake data from USGS API
- Returns: GeoJSON format earthquake data for the past 24 hours
Sends SMS alerts to subscribed volunteers
- Body:
{ title, description, lat, lng } - Returns: Confirmation of SMS delivery status
SurgeAid uses a carefully crafted color palette optimized for emergency response:
- Primary Red (
#c1121f): Emergency alerts and critical actions - Deep Navy (
#003049): Volunteer actions and trust elements - Warning Amber (
#fbbf24): Status indicators and highlights - Ocean Blue (
#669bbc): Maps and informational elements - Warm Cream (
#fefbf3): Background for reduced eye strain
# Firebase Configuration
NEXT_PUBLIC_FIREBASE_API_KEY=your_api_key
NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=your_auth_domain
NEXT_PUBLIC_FIREBASE_PROJECT_ID=your_project_id
# Twilio Configuration
TWILIO_ACCOUNT_SID=your_account_sid
TWILIO_AUTH_TOKEN=your_auth_token
TWILIO_PHONE_NUMBER=your_twilio_numbernpm run build
npm run startSurgeAid is designed mobile-first with:
- Responsive design for all screen sizes
- Touch-optimized interface elements
- SMS-based alerts (no app installation required)
- Optimized map interactions for mobile devices
- 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
- Advanced Analytics: Response time analytics and volunteer performance metrics
- Multi-language Support: Localization for diverse communities
- Weather Integration: Automatic weather-related emergency detection
- Training Modules: Built-in volunteer training and certification system
- Resource Tracking: Inventory management for emergency supplies
- Incident Command Integration: Professional emergency response coordination
This project is licensed under the MIT License - see the LICENSE file for details.
For questions, issues, or support:
- Documentation: Check this README and inline code comments
- Issues: Open an issue on GitHub for bugs or feature requests
- Community: Join our community discussions for help and ideas
π¨ SurgeAid - When disaster strikes, communities rise together.
Built with β€οΈ for safer, more connected communities