Inspiration
During disasters, field volunteers use Slack to report shelter capacity — but messages arrive in different languages, get buried in channel noise, and coordinators can't react fast enough. People get directed to shelters that are already full, wasting critical time and putting lives at risk. We built ShelterSync to fix this.
What it does
ShelterSync is an AI-powered Slack bot that provides real-time shelter capacity management during disaster relief operations:
- Multilingual AI Classification: Monitors field channels and uses Groq's Llama 3.3 70B to classify capacity alerts in any language (tested across 13+ languages including Hindi, Bengali, Tamil, Japanese, Spanish, French, and Arabic)
- Context Verification: Cross-checks every alert against the last 15 channel messages using AI to filter false positives and duplicates
- Smart Redirects: Automatically finds the 2 nearest available shelters using haversine distance and posts a Block Kit redirect card
- Proactive Guard: Activates a 30-minute protection window after a shelter is marked full — any message mentioning that shelter triggers an automatic redirect warning
- Coordinator DMs: Sends detailed context to the designated coordinator via direct message
- Real-time Dashboard:
/capacity statusshows all shelters,/capacity reopenrestores availability - MCP Server: Exposes shelter tools via FastMCP for external AI agent integration
How we built it
- Slack Bolt (Python) for event handling, slash commands, and interactive components
- Groq AI (Llama 3.3 70B) for multilingual intent classification and context verification
- Airtable as the shelter registry and audit log database
- FastMCP for exposing shelter operations as MCP tools
- Block Kit for rich, interactive Slack messages
- pyngrok for secure tunneling to our local development server
Challenges we ran into
- Airtable's Single Select fields require options to be pre-created in the UI before API writes succeed — this caused silent failures that took time to debug
- OBS Display Capture showed only audio on Windows — switching to Window Capture fixed it
- The guard system activated with short names ("shelter 3") but Airtable returned full names ("Shelter 3 - Lajpat Nagar"), causing deactivation to fail. Fixed with partial name matching.
- Context verification correctly rejects isolated messages without supporting context — initially looked like a bug but is actually intended behavior
Accomplishments that we're proud of
- True multilingual support — not just Indian languages, but any language in the world
- The proactive guard system is a unique innovation — no other shelter bot prevents misdirection after an alert
- End-to-end pipeline from message to redirect card takes under 3 seconds
- Zero false positives in testing thanks to the dual AI verification layer
What we learned
- Disaster relief tools must be language-agnostic — volunteers come from everywhere
- AI verification (checking alerts against channel context) is essential to prevent alert fatigue
- Proactive systems (guards) are more valuable than reactive ones in crisis situations
- Slack's Block Kit is powerful enough to build rich operational dashboards
What's next for ShelterSync
- Deploy to a cloud server for 24/7 uptime
- Add GPS-based shelter lookup for field volunteers
- Integration with government disaster management APIs
- Multi-organization support with role-based access
- Historical analytics dashboard for post-disaster analysis
Log in or sign up for Devpost to join the conversation.