Inspiration
During disasters such as floods, earthquakes, and infrastructure failures, communication networks can become unavailable exactly when people need help the most. We wanted to solve a simple but critical problem:
What if a person can send an emergency message even when the cellular network and internet are down?
This inspired us to build SpaceAid — an emergency communication and rescue coordination system designed around resilient communication.
“When the network goes down, SpaceAid creates a network of its own.”
What SpaceAid Does
SpaceAid allows a stranded person to send an SOS containing their location, number of people, injured people, and trapped people.
The system then:
- Calculates the emergency severity and priority.
- Selects an available communication route.
- Uses a simulated mesh network when cellular communication is unavailable.
- Dynamically reroutes messages when a mesh node fails.
- Provides a satellite fallback simulation when other communication paths are unavailable.
- Stores emergencies in a database for rescue coordination.
- Displays emergency information and network status through a web dashboard.
For example, if Node B in the mesh network fails, SpaceAid can automatically switch from:
Victim → Node A → Node B → Gateway
to:
Victim → Node A → Node C → Node D → Gateway
This demonstrates how emergency messages can continue reaching a gateway even when part of the network is unavailable.
How We Built It
SpaceAid uses a full-stack architecture:
- Frontend: React + Vite
- Backend: Python + FastAPI
- Database: SQLite
- Communication: Mesh-network simulation with dynamic route selection
- Emergency Analysis: Rule-based severity scoring
- Fallback: Simulated satellite communication
- API Communication: Axios
- Dashboard Updates: Near-real-time polling
The backend exposes APIs for emergency submission, emergency history, network status, mesh-node failure/recovery, and disaster simulations.
The mesh layer models multiple relay nodes and uses route selection to find an available path to the gateway.
Challenges We Faced
One of our biggest challenges was making the different components work together reliably.
We faced issues with:
- Connecting the React frontend to the FastAPI backend.
- Handling emergency data validation.
- Maintaining the SQLite database schema while developing new features.
- Simulating mesh-node failures and dynamically finding alternate routes.
- Handling communication fallbacks.
- Debugging API and frontend integration issues.
Solving these problems helped us understand how important system integration and failure handling are in emergency-response applications.
What We Learned
Building SpaceAid taught us that disaster communication systems cannot depend on a single communication channel.
We learned how to:
- Build REST APIs using FastAPI.
- Connect a React frontend with a Python backend.
- Design and simulate mesh-network routing.
- Implement failure detection and alternate route selection.
- Design severity and priority logic for emergency situations.
- Store and retrieve emergency data using SQLite.
- Build a dashboard for monitoring emergency situations.
- Think about reliability and graceful failure instead of only the normal operating case.
What's Next
SpaceAid is currently a prototype demonstrating the core concept through simulated mesh and satellite communication.
Our future goal is to connect the system with real device-to-device technologies such as Bluetooth, Wi-Fi Direct, LoRa, or dedicated emergency communication hardware.
We also plan to explore:
- GPS-based location sharing
- Real-world mesh networking
- Offline-first mobile applications
- AI-assisted emergency prioritization
- Integration with rescue teams and emergency control centers
- Battery-aware and congestion-aware routing
Conclusion
SpaceAid is built around one idea:
Communication should not disappear when people need it the most.
By combining emergency prioritization, resilient mesh routing, dynamic rerouting, and fallback communication, SpaceAid demonstrates a possible approach to keeping emergency messages moving even when conventional networks fail.
Built With
- api
- axios
- communication
- coordination
- disaster
- dynamic
- emergency
- fastapi
- javascript
- management
- mesh
- network
- networking
- python
- react
- real-time
- rescue
- rest
- routing
- sqlite
- tolerance
- vite
Log in or sign up for Devpost to join the conversation.