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 status shows all shelters, /capacity reopen restores 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

Built With

Share this project:

Updates