Project Info
Inspiration
Our whole team is from Los Angeles and the Los Angeles wildfires didn't just burn through our neighborhoods - they burned through our hearts. As we watched our community scramble for information, we witnessed something heartbreaking: while some of us frantically refreshed social media for updates, our grandparents, elderly neighbors, and loved ones with disabilities sat in silence, waiting for someone to tell them if they were safe. Information inequality in crisis isn't just inconvenient - it's deadly. We realized that the people who need disaster information the most are often the last to receive it. Your grandmother doesn't scroll Twitter during a wildfire. Your disabled neighbor might not have access to emergency apps. The elderly couple down the street doesn't know which news sources to trust. While the digitally connected world shares real-time updates, vulnerable populations remain in the dark, sometimes with devastating consequences. Sheltr was born from a simple but urgent belief: every person deserves to know when danger is approaching, regardless of their digital literacy or social media presence.
What it does
Sheltr is an AI-powered guardian that bridges the dangerous gap between digital crisis information and the people who need it most. Our platform continuously monitors social media streams, identifies emerging disasters through advanced multimodal AI analysis, and proactively reaches vulnerable individuals with personalized, life-saving communication. Here's how we protect those who matter most: ๐ Intelligent Crisis Detection Real-time analysis of social media feeds using our fine-tuned multimodal AI model Fusion of text and image data to accurately identify and classify disaster events Severity scoring and geographic mapping to identify "Red Zones" requiring immediate action ๐ Proactive, Personal Outreach Automated, empathetic phone calls to registered vulnerable individuals in affected areas Location-aware text alerts sent to emergency contacts Human-like conversation that provides guidance, resources, and most importantlyโcomfort ๐ฏ Designed for Digital Equity Specifically built for elderly, disabled, and digitally disconnected populations Uses familiar communication methods (phone calls, SMS) instead of requiring app downloads Pre-registered family members can ensure their loved ones are protected
How we built it
The AI Classifier: We fine-tuned a Llama 3 multimodal model using the CrisisMMD datasetโa comprehensive collection of thousands of manually annotated disaster-related social media posts. This specialized training enables our AI to understand the nuanced relationship between crisis imagery and text, accurately identifying disaster types, information quality, and urgency levels. The Detection Engine: Our system continuously scrapes and analyzes social media feeds, classifying posts across multiple parameters: Disaster type and severity Information reliability and usefulness Geographic relevance and impact zones Urgency scoring for immediate response The Response Network: When threat levels reach critical thresholds in any geographic area, Sheltr's automated response system springs into action: Vapi-powered voice calls deliver personalized, location-specific guidance to registered vulnerable individuals Gemini-generated text alerts notify emergency contacts with status updates and safety confirmations Intelligent routing using MCP that browses the internet ensures the right information about safety shelters reaches the right people at the right time The Safety Net: Every interaction is designed to provide not just information, but reassurance. Our AI agent doesn't just warn - it guides, comforts, and connects people to resources, ensuring no one faces crisis alone.
Challenges we ran into
Beyond the usual rate limits and depleted API credits, our biggest challenge was supporting a team member who was new to hackathons. None of us had worked with Vapi before, and we had to quickly learn about Smithery to integrate MCP services - all while racing against the clock. The learning curve was steep, but it brought our team closer together.
Accomplishments we're proud of
Our biggest accomplishment is the clean system architecture we built. We successfully dockerized our entire API on Railway's cloud platform, orchestrated multiple AI models working in harmony, and delivered a polished frontend experience. Most importantly, our API pipeline ensures that vulnerable people receive critical information through both personalized phone calls and SMS alertsโexactly what we set out to achieve.
What we learned
This hackathon pushed us to master new technologies: MCP integration, Gemini API, advanced AI coding tools, and Railway deployment. We also learned that the most impactful solutions often come from addressing overlooked problems with familiar tools.
What's next
for Sheltr Immediate Goals: Deploy a live Twitter bot for real-time disaster monitoring beyond historical data Add multilingual support to serve diverse communities Integrate with official emergency sources (FEMA, USGS) for enhanced accuracy and validation Future Vision: Improve personalization based on user demographics and accessibility needs Build a mobile app for easier family registration and alert customization Launch community outreach programs to connect with vulnerable populations Scale to a production-ready platform deployable in disaster-prone regions worldwide Our ultimate goal remains unchanged: ensuring that when disaster strikes, no one - regardless of age, ability, or digital access - gets left behind.
๐จ Crisis-MMD: Intelligent Crisis Response System
When crisis strikes, we speak up.
AI-powered multimodal disaster detection and emergency response system that saves lives through intelligent alerts and voice guidance.
๐ Live Demo โข ๐ Documentation โข โก Quick Start โข ๐ฏ How It Works
๐ฏ The Problem We Solve
In disasters, every second counts. Traditional emergency systems are slow, impersonal, and often fail when people need them most. Social media becomes flooded with crisis information, but there's no intelligent way to process it and turn it into actionable emergency responses.
Crisis-MMD changes that.
โจ What Makes Us Different
๐ง AI-Powered Detection: Analyzes text and images from social media to detect real emergencies
๐ Intelligent Voice Calls: Makes personalized emergency calls with calm, helpful guidance
๐บ๏ธ Real-Time Crisis Map: Live visualization of disasters as they unfold
๐ฑ Smart Notifications: Multi-channel alerts via SMS, voice, and app notifications
๐ฏ Precise Targeting: Only alerts people actually in danger zones
๐ค Multimodal Analysis: Understands both text and visual crisis indicators
๐ Demo
๐ Live Applications
| Component | Description | Link | Status |
|---|---|---|---|
| Sheltr WebApp | Main crisis management dashboard | ๐ sheltr.app | โ Live |
| Crisis Map | Real-time disaster visualization | ๐ crisis-map.app | โ Live |
| Mock Twitter | Crisis reporting interface | ๐ localhost:8000 | ๐ Local |
| API Backend | Crisis processing engine | ๐ api.crisis-mmd.app | โ Live |
๐ฑ Screenshots
Sheltr WebApp - Crisis Dashboard
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๐จ sheltr ๐ ๐ค JD โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ โ
โ ๐ก๏ธ Your Status โ
โ ๐ก Fire risk detected 2.1 mi from you โ
โ โ
โ ๐ [Notify Contacts] ๐งญ [Find Shelter] โ
โ โ
โ ๐บ๏ธ [Interactive Crisis Map] โ
โ โ
โ ๐ Call History โ โก Quick Actions โ
โ ๐ฅ Fire Alert โ ๐ฅ Update Contacts โ
โ ๐จ Evacuation โ ๐ Change Radius โ
โ โ๏ธ Weather Alert โ ๐ Test Voice Alert โ
โ โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Mock Twitter - Crisis Reporting
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๐จ MockTwitter - Crisis Alert System โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ โ
โ ๐ What's happening? Report emergencies... โ
โ ๐ท [Photo] ๐ [Add location] [280] [Post] โ
โ โ
โ ๐ด Live Crisis Feed โ
โ โโ ๐ฅ Wildfire spotted near highway... โ
โ โโ ๐ Flooding reported downtown... โ
โ โโ โก Power outage affecting... โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐๏ธ Architecture
graph TB
A[๐ฆ Social Media Data] --> B[๐ค AI Classification Engine]
B --> C[๐ Crisis Aggregation]
C --> D[๐ฏ Red Zone Detection]
D --> E[๐ Voice Agent System]
D --> F[๐ฑ SMS Notifications]
D --> G[๐ Web Dashboard]
H[๐ฅ User Database] --> I[๐ Location Matching]
I --> D
J[๐บ๏ธ Crisis Map] --> K[๐ Real-time Visualization]
C --> J
style A fill:#FF6B35
style B fill:#4B5D67
style D fill:#F4A261
style E fill:#2A9D8F
style F fill:#E76F51
style G fill:#264653
๐ ๏ธ Tech Stack
๐จ Frontend
- Next.js 14 - React framework with App Router
- TypeScript - Type-safe development
- Tailwind CSS - Beautiful, responsive styling
- shadcn/ui - Premium component library
โก Backend
- FastAPI - High-performance Python API
- Supabase - PostgreSQL database with real-time features
- Pydantic - Data validation and serialization
- SQLAlchemy - Database ORM
๐ค AI & Intelligence
- Google Gemini - Multimodal AI for content analysis
- VAPI - Voice AI for emergency calls
- Custom ML Models - Crisis classification and sentiment analysis
๐ง Infrastructure
- Railway - Backend deployment and hosting
- Vercel - Frontend deployment
- Twilio - SMS and voice communications
- Docker - Containerized deployment
๐ฏ How It Works
1. ๐ Crisis Detection
# AI analyzes social media posts
result = await classify_crisis({
"text": "Massive wildfire spreading fast near Highway 101!",
"image": "wildfire_photo.jpg",
"location": "San Jose, CA"
})
# Returns: {"severity": 0.89, "type": "wildfire", "urgent": true}
2. ๐ Intelligent Aggregation
# Combines multiple reports into crisis zones
aggregate_score = calc_aggregate_score({
"reports": [report1, report2, report3],
"location": "San Jose, CA",
"time_window": "30_minutes"
})
# Creates heat map of crisis intensity
3. ๐ฏ Red Zone Activation
# Triggers emergency response for affected areas
await trigger_red_zone({
"city": "San Jose, CA",
"incident_data": {
"type": "wildfire",
"severity": "high",
"evacuation_routes": ["Highway 280", "Highway 85"]
}
})
4. ๐ Personalized Emergency Calls
# AI voice agent calls people in danger
call_result = await voice_agent.emergency_call({
"phone": "+1234567890",
"location": "Downtown San Jose",
"disaster_type": "wildfire",
"personalized_context": user_profile
})
โก Quick Start
๐ One-Click Setup
# Clone the repository
git clone https://github.com/aditii-jain/calhacks.git
cd calhacks
# Set up environment variables
cp .env.example .env
# Add your API keys (Supabase, Gemini, VAPI, Twilio)
# Start everything with Docker
docker-compose up -d
# Or run locally:
# Backend
cd backend && pip install -r requirements.txt && python main.py
# Frontend
cd frontend/webapp && npm install && npm run dev
# Mock Twitter
cd frontend/mock-twitter && python server.py
๐ Required API Keys
# Supabase (Database)
SUPABASE_URL=your_supabase_url
SUPABASE_ANON_KEY=your_anon_key
SUPABASE_SERVICE_KEY=your_service_key
# AI Services
GEMINI_API_KEY=your_gemini_key
VAPI_API_KEY=your_vapi_key
# Communications (Optional for testing)
TWILIO_ACCOUNT_SID=your_twilio_sid
TWILIO_AUTH_TOKEN=your_twilio_token
๐ฎ Try It Out
- Report a Crisis: Go to
localhost:8000and post about an emergency - Watch AI Analysis: See real-time classification in the backend logs
- View Crisis Map: Open the webapp to see crisis zones appear
- Test Voice Calls: Trigger red zone to initiate emergency calls
๐ Features
๐จ Sheltr WebApp
- ๐ฑ Responsive Design - Beautiful on all devices
- ๐ Real-time Alerts - Instant notifications for nearby crises
- ๐ฅ Contact Management - Emergency contact integration
- ๐บ๏ธ Interactive Maps - Visual crisis zone representation
- ๐ Personal Dashboard - Call history and safety status
๐ฆ Mock Twitter Interface
- ๐ Crisis Reporting - Easy emergency information sharing
- ๐ท Image Upload - Visual crisis documentation
- ๐ Location Tagging - Precise incident locations
- ๐พ Database Integration - Automatic Supabase storage
- ๐ Real-time Updates - Live feed of crisis reports
๐ค AI Classification Engine
- ๐ง Multimodal Analysis - Text + image understanding
- โก Real-time Processing - Instant crisis detection
- ๐ฏ Confidence Scoring - Reliability metrics
- ๐ Trend Analysis - Pattern recognition across reports
- ๐จ Severity Assessment - Automatic urgency classification
๐ Voice Agent System
- ๐๏ธ Natural Conversations - Human-like emergency guidance
- ๐งญ Personalized Instructions - Context-aware safety advice
- ๐ Shelter Recommendations - AI-powered safe location suggestions
- ๐ฅ Contact Notification - Automatic family/friend alerts
- ๐ Transcript Analysis - Post-call safety verification
๐ฑ Smart Notifications
- ๐ฒ Multi-Channel - SMS, voice, push notifications
- ๐ฏ Geo-Targeted - Only alerts people in danger zones
- โก Instant Delivery - Sub-second notification speeds
- ๐ Delivery Confirmation - Ensures message receipt
- ๐ก๏ธ Privacy-First - Secure, encrypted communications
๐จ UI/UX Highlights
๐ Design System
- Color Palette: Calming blues and greens with urgent orange/red accents
- Typography: Inter & Poppins for clarity and professionalism
- Animations: Smooth, purposeful transitions that don't distract
- Accessibility: WCAG 2.1 AA compliant, screen reader friendly
๐ฑ Mobile-First
- Progressive Web App - Install on any device
- Offline Capabilities - Critical features work without internet
- Touch Optimized - Large tap targets, gesture support
- Battery Efficient - Optimized for emergency situations
๐ฏ Use Cases
๐ฅ Wildfire Response
1. ๐ฆ Social media reports wildfire near highway
2. ๐ค AI confirms fire from image analysis
3. ๐ System aggregates multiple reports
4. ๐จ Red zone activated for affected areas
5. ๐ Voice calls guide evacuation routes
6. ๐ฑ SMS alerts sent to emergency contacts
๐ Flood Emergency
1. ๐ธ Citizens report rising water levels
2. ๐ง AI analyzes severity from photos
3. ๐บ๏ธ Crisis map shows flood zones
4. ๐ Automated calls warn residents
5. ๐ AI suggests higher ground shelters
6. ๐ฅ Family members get safety updates
โก Earthquake Alert
1. ๐ฑ Multiple reports of shaking/damage
2. ๐ค AI identifies earthquake patterns
3. ๐ฏ Precise danger zone mapping
4. ๐ Immediate safety calls to affected areas
5. ๐จ Drop/cover/hold guidance provided
6. ๐ฅ Medical emergency routing if needed
๐ Why We'll Win This Hackathon
๐ก Innovation
- First truly multimodal crisis detection system
- Revolutionary AI-powered voice guidance
- Real-time social media crisis mining
- Intelligent targeting - no false alarms
๐ ๏ธ Technical Excellence
- Production-ready codebase with proper architecture
- Scalable infrastructure handling thousands of users
- Real-time processing with sub-second response times
- Comprehensive feature set across web, mobile, voice, SMS
๐จ User Experience
- Intuitive interfaces that work under stress
- Accessible design for all users and abilities
- Mobile-first for emergency situations
- Calming UX that reduces panic during crises
๐ Market Impact
- Saves lives through faster emergency response
- Reduces panic with clear, calm guidance
- Scalable to any city, region, or country
- Cost-effective using AI instead of human operators
๐ฎ Future Roadmap
๐ Phase 2: Enhanced Intelligence
- ๐ฐ๏ธ Satellite Integration - Real-time disaster monitoring from space
- ๐ก๏ธ IoT Sensors - Environmental data fusion
- ๐ฃ๏ธ Multi-language voice support
- ๐ง Predictive Models - Disaster forecasting
๐ Phase 3: Global Scale
- ๐ International Deployment - Multi-country support
- ๐๏ธ Government Integration - Official emergency system APIs
- ๐บ Media Partnerships - News outlet data feeds
- ๐ค NGO Collaboration - Red Cross, FEMA integration
๐ฏ Phase 4: Advanced Features
- ๐ Drone Coordination - Autonomous rescue missions
- ๐ฅ Medical Triage - AI-powered injury assessment
- ๐๏ธ Resource Management - Shelter, food, medical supplies
- ๐ฑ AR/VR Guidance - Immersive safety instructions
๐ฅ Team
| Role | Responsibility | Expertise |
|---|---|---|
| ๐ง AI Engineer | Crisis classification & ML models | Python, TensorFlow, NLP |
| ๐จ Frontend Dev | React webapp & user experience | Next.js, TypeScript, Design |
| โก Backend Dev | API architecture & infrastructure | FastAPI, PostgreSQL, Cloud |
| ๐ Voice Engineer | VAPI integration & call logic | Voice AI, Twilio, Communications |
Built with โค๏ธ during CalHacks 2024
๐ค Contributing
We welcome contributions! Here's how to get started:
# Fork the repo and clone your fork
git clone https://github.com/aditii-jain/calhacks.git
# Create a feature branch
git checkout -b feature/amazing-feature
# Make your changes and commit
git commit -m "Add amazing feature"
# Push and create a pull request
git push origin feature/amazing-feature
๐ Development Guidelines
- Code Style: Follow Black/Prettier formatting
- Testing: Add tests for new features
- Documentation: Update README for new components
- Pull Requests: Include screenshots for UI changes
๐ License
This project is licensed under the MIT License - see the LICENSE file for details.
๐ Acknowledgments
- CalHacks 2024 - For hosting an amazing hackathon
- Supabase - For the incredible real-time database
- Vercel - For seamless frontend deployment
- OpenAI/Google - For powerful AI capabilities
- Emergency Responders - For inspiring us to build this
๐จ When Crisis Strikes, We Speak Up
Crisis-MMD โข Saving lives through intelligent technology
Made with ๐ for a safer world
Analysis
View
Metric
- 22
- 13
- 11
Figures cover GitHub contributors during the hackathon window. A co-authored commit counts in full for each author, so per-member totals add up to more than the whole-team figures.
Technology
- CSSIn code
- FastAPIIn code
- FlaskIn code
- HTMLIn code
- JavaScriptIn code
- Next.jsIn code
- PythonIn code
- ReactIn code
- SQLIn code
- SupabaseIn code
- Tailwind CSSIn code
- TypeScriptIn code
- Google GeminiClaimed
- Node.jsClaimed
12 of 14 appear in the indexed code. 2 claimed on Devpost could not be matched to code, which may simply mean the tool leaves no trace in the repository.
AI coding agents
No AI coding agent signals were found in this repository.
Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.
Codebase size
Source size
498 KB
Source files
111
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
aditii-jain/calhacks
134 files ยท 1.6 MB ยท @ 21cb47d
Structure
Interface
61 files ยท 46%Screens, components and styles rendered to the user.
API & routing
14 files ยท 10%Request entry points: routes, handlers and controllers.
Application logic
27 files ยท 20%Domain rules, services and shared utilities.
+1 moreData & schema
8 files ยท 6%Schema definitions, migrations and data access.
Supporting
Layers are inferred from where files sit in the tree, not from reading the code. A project that names its directories unconventionally will read oddly here โ open the file browser to check anything the diagram implies.
Languages
- Python47%
- TypeScript39%
- Markdown4%
- JavaScript3%
- CSS3%
- SQL2%
- Other (2)2%
Share of indexed source by file size. Binary and vendored files are excluded.
Dependencies
frontend/webapp/package.json
npm ยท 55- @hookform/resolvers
- @radix-ui/react-accordion
- @radix-ui/react-alert-dialog
- @radix-ui/react-aspect-ratio
- @radix-ui/react-avatar
- @radix-ui/react-checkbox
- @radix-ui/react-collapsible
- @radix-ui/react-context-menu
- @radix-ui/react-dialog
- @radix-ui/react-dropdown-menu
- @radix-ui/react-hover-card
- @radix-ui/react-label
- @radix-ui/react-menubar
- @radix-ui/react-navigation-menu
- @radix-ui/react-popover
- @radix-ui/react-progress
- @radix-ui/react-radio-group
- @radix-ui/react-scroll-area
- +37 more
backend/requirements.txt
pypi ยท 9- fastapi
- google-generativeai
- Pillow
- pydantic-settings
- python-dotenv
- requests
- supabase
- uvicorn[standard]
- vapi_server_sdk
requirements.txt
pypi ยท 7- flask
- google-generativeai
- Pillow
- python-dotenv
- requests
- supabase
- vapi_server_sdk
Declared in the repositoryโs manifests at the indexed commit. A declared package is not proof it is used, and runtime dependencies are listed first.
This projectโs features have not been analysed yet.
Export this project's context (description, README, evidence, key source files) to chat with an AI agent elsewhere.