Inspiration
When disaster strikes, the bottleneck isn't always a lack of resources—it's logistics. We watched the news during recent global crises and saw a recurring, devastating pattern: NGOs had supplies, and people needed them, but the coordination was trapped in outdated spreadsheets and fragmented communication channels. We realized that in a high-stakes, time-critical environment, every minute lost to inefficient routing costs lives. We wanted to build something that didn't just display data, but actively solved the logistical nightmare of crisis management.
What it does
CrisisLink is an intelligent, AI-driven resource allocation ecosystem designed for emergency response teams. At its core, it ingests unstructured distress signals (texts, radio transcripts, social media feeds) and uses LLMs to instantly triage the severity and extract key logistical needs (e.g., "50 units of insulin," "Evacuation for 12").
The dashboard then acts as an autonomous air-traffic controller for disaster relief, matching these high-priority needs with real-time inventory levels from registered NGOs and supply caches. It visualizes the crisis on a centralized command interface, transforming chaos into actionable, highly optimized supply-chain directives.
How we built it
We architected CrisisLink using a highly scalable, modern edge-computing stack. The frontend command center is built on Next.js and React, utilizing Tailwind CSS and shadcn/ui to ensure the interface is highly legible and accessible even in high-stress, low-bandwidth environments.
The intelligence layer is powered by the OpenAI API, engineered with complex system prompts to handle unstructured data extraction and semantic matching. We routed the backend logic through Next.js server actions to maintain tight security and low-latency data fetching, ensuring the UI reflects real-time updates instantaneously.
Challenges we ran into
Building an enterprise-grade logistical tool in a weekend pushed us to our limits. Our biggest hurdle was the AI integration. Standard LLM calls are too slow and unpredictable for real-time crisis management. We had to spend hours refining our prompt engineering and implementing aggressive caching strategies to force the AI to return strictly formatted, predictable JSON data with sub-second latency.
Additionally, optimizing the state management for a dashboard that handles constant, asynchronous data streams without causing visual tearing or UI lockups required completely rewriting our initial component architecture at 3:00 AM.
Accomplishments that we're proud of
We are incredibly proud of the UX/UI. Crisis tools are notoriously clunky and require massive training manuals. We managed to build a sleek, intuitive, dark-mode-optimized interface that a volunteer could understand in under 60 seconds. More importantly, we successfully bridged the gap between cutting-edge AI and raw, boots-on-the-ground utility. The "Intelligent Match" algorithm works flawlessly to connect theoretical supply points with simulated distress nodes.
What we learned
This hackathon taught us that the true power of AI isn't in generating text; it's in orchestration. We learned how to constrain and command language models to act as deterministic logic engines rather than conversational bots. We also learned the profound importance of empathetic design—when you are building software for people in the worst moments of their lives, every pixel and every micro-interaction matters.
What's next for CrisisLink
This weekend was just the proof-of-concept. Our immediate next steps include:
Mobile Field-App: Deploying a React Native companion app optimized for offline-first, low-connectivity zones so volunteers can sync data locally.
API Integrations: Partnering with drone-delivery APIs (like Zipline) to automate the dispatch of critical, lightweight medical supplies.
NGO Onboarding: Open-sourcing the data-ingestion pipeline to allow international relief organizations to plug their existing inventory databases directly into the CrisisLink network.
Built With
- next.js
- openai
- rest-api
- shadcn-ui
- tailwind.css
- typescript
- vercel
Log in or sign up for Devpost to join the conversation.