Inspiration
Natural disasters like earthquakes and wildfires often destroy communication infrastructure, leaving both civilians and rescue teams unable to coordinate. Messaging applications like whatsapp rely on internet connectivity, making them ineffective during such situations. So we built such an app which works without requiring the internet .
What it does
We built ComDisaster to enable communication without requiring the internet. As long as devices are connected to the same Wi-Fi hotspot or local Ethernet , they can discover each other automatically and exchange messages through a peer-to-peer network.
All smart phone nearby can share signal on switching on hotspot even without internet .
Key features include:
No internet required for communication . Automatic peer discovery using Multicast DNS (mDNS) Secure communication inside user choosen chat rooms Multiple users can communicate simultaneously All messages are logged in log file React-based frontend for easy communication Cross-device communication over Wi-Fi hotspots or Ethernet LAN
The application is particularly useful for:
Disaster response Rescue operations Remote work sites Military camps Temporary field hospitals Areas with damaged communication infrastructure
How we built it
Backend Go (Golang) libp2p-go mDNS (Multicast DNS) PubSub architecture
The backend creates a libp2p host that uses decentralized peer-to-peer connections. Instead of relying on a central server, every device acts as both a client and a server.
Peer discovery is handled using mDNS, allowing devices on the same LAN to automatically find each other without manual IP configuration which is also very necessary when you need to broadcast a message urgently example to some rescue teams.
Communication is organized using Chat Rooms, where users join a room by specifying a common room name and discovery string.
Frontend React GUI for sending and receiving messages
The frontend provides a simple chat interface so users don't have to communicate through the terminal.
Challenges we ran into
Had to study the complete working of lib2p and mdns which are a base for this project. Understanding and integrating the libp2p networking . Implementing reliable peer discovery without internet connectivity.
Accomplishments that we're proud of
Successfully built this decentralized messaging platform. Enabled communication without relying on the internet. Implemented automatic peer discovery using mDNS. Created a clean React-based user interface.
What we learned
During development we learned:
How is Go different from others and how we handle concurrency in it Peer-to-peer networking concepts libp2p architecture Distributed systems fundamentals PubSub messaging patterns Multicast DNS (mDNS) for zero-configuration networking
What's next for ComDisaster
Native Android and iOS applications Mesh networking to extend communication beyond a single LAN End-to-end encrypted messaging Live location sharing for rescue coordination SOS emergency alerts with priority broadcasting Offline file and image sharing
Built With
- go
- react.js
Log in or sign up for Devpost to join the conversation.