Inspiration
During natural disasters such as floods, earthquakes, or cyclones, internet and cellular networks often fail. Communication becomes one of the biggest challenges for both rescue teams and civilians.
We were inspired to build a system that enables communication without relying on the internet, using only local networks like WiFi, hotspot, or LAN. The goal was simple:
If devices can connect to the same network, they should be able to communicate — even offline.
What it does
CrisisConnect is an offline-first peer-to-peer emergency communication system.
- Enables communication without internet access
- Automatically discovers nearby devices using MDNS
- Allows users to join a shared chat room
- Stores messages locally as backup logs
- Supports both terminal-based and React-based GUI communication
As long as devices are connected to the same WiFi/hotspot/Ethernet LAN, they can communicate seamlessly.
How we built it
Backend:
- Built using Go
- Used libp2p-go to establish peer-to-peer communication
- Implemented PubSub for chat rooms and message broadcasting
- Used MDNS (Multicast DNS) for automatic peer discovery
- Added message logging for recovery
- Optional HTTP server for frontend integration
Frontend:
- Built using React
- GUI for sending and receiving messages
- Connects to backend API when HTTP mode is enabled
Challenges we ran into
- Configuring libp2p peer discovery correctly
- Debugging MDNS behavior across different devices
- Ensuring stable connections between multiple peers
- Avoiding duplicate message broadcasts
- Syncing terminal-based and GUI-based communication
- Designing a fully decentralized system without central servers
Accomplishments that we're proud of
- Built a fully offline communication system
- Successfully implemented decentralized peer discovery
- Enabled multi-user chat without internet
- Integrated CLI and GUI interfaces
- Created a scalable base architecture for disaster communication
Most importantly, we proved that internet is not mandatory for digital communication.
What we learned
- Deep understanding of peer-to-peer networking
- Practical implementation of libp2p and PubSub
- How MDNS enables zero-configuration discovery
- Backend and frontend integration in distributed systems
- Importance of resilience and fault tolerance in emergency applications
What's next for CrisisConnect
- Add end-to-end encryption for secure communication
- Implement mesh networking for extended range
- Add location sharing for emergency situations
- Develop a mobile application version
- Integrate satellite or radio-based communication support
- Add admin dashboard for rescue coordination
- Introduce emergency broadcast alert mode
Our long-term vision is to evolve CrisisConnect into a resilient disaster communication platform capable of operating in extreme conditions.
Built With
- go
- libp2p
- multicast
Log in or sign up for Devpost to join the conversation.