RescueMesh — Offline Emergency Communication When Networks Fail

https://drive.google.com/drive/folders/1kwexW37j9pqECKHLJqj-MSKng00moE-Q?usp=sharing

The Idea: What Inspired Us to Build It?

During an emergency, having a working phone does not always mean having a way to communicate.

In earthquakes and building collapses, people can become trapped beneath debris while their smartphones are still functional. But damaged cell towers, power failures, or overloaded networks can prevent them from contacting rescuers — even when rescue teams or other people may be nearby.

The same fundamental problem appears in other situations. Floods and cyclones can damage communication infrastructure across affected regions. Large gatherings can overload cellular networks. During government-imposed internet shutdowns, people may also lose access to the internet-based communication services they normally rely on, even though their phones themselves continue to work.

These situations made us realize something:

The phone isn't always the problem. The infrastructure connecting the phones is.

Traditional communication usually depends on infrastructure:

Phone → Cell Tower / Wi-Fi → Network → Another Phone

If that infrastructure becomes unavailable, communication can disappear exactly when people need it most.

Natural disasters — floods, earthquakes, cyclones — have this cruel pattern: the moment people need to communicate most is exactly when cell towers, mobile data, Wi-Fi infrastructure, and power grids can go down.

We wanted to build something that doesn't depend on infrastructure surviving the disaster to be useful during it.

Since almost everyone already carries a smartphone, we started with a simple question:

What if the phones could just talk to each other directly?

That idea became RescueMesh — an Android application designed to enable nearby smartphones to communicate directly during emergencies, even when traditional communication networks are unavailable.

How It Works

RescueMesh allows nearby Android phones to discover and communicate with each other without internet access, SIM signal, or Wi-Fi routers.

The application uses Google's Nearby Connections API, which takes advantage of technologies such as Bluetooth and Wi-Fi-based peer-to-peer communication to establish direct connections between devices.

The basic flow is:

Open App → Enter Name → Grant Permissions → Advertise → Discover → Connect → Send/Receive HELP

One device can advertise itself while nearby RescueMesh devices discover it and establish a connection.

Once connected, a user can send a HELP broadcast that reaches connected devices at once.

Recipients can quickly choose to Reply or Ignore the request. Emergency categories such as Medical, Water, Food, and SOS reduce the amount of typing required and make it easier to understand what kind of assistance is needed.

For the current MVP, RescueMesh uses a reliable one-hop communication model, where messages are delivered directly to connected nearby devices.


Main Features

📡 Offline Device-to-Device Communication

Phones communicate directly without depending on mobile data, SIM connectivity, or traditional network infrastructure.

🚨 Emergency HELP Broadcasts

A user can broadcast an emergency request to multiple connected devices rather than contacting people individually.

🆘 Quick Emergency Categories

Users can quickly categorize requests as:

Medical • Water • Food • SOS

This helps nearby people understand the type of emergency immediately.

💬 Reply or Ignore

Recipients can respond to requests when they are able to help or ignore requests that they cannot assist with.

🔍 Nearby Device Discovery

RescueMesh automatically advertises and discovers compatible nearby devices using the Nearby Connections API.

🌑 Emergency-Focused Interface

The UI uses a dark theme, large tap targets, minimal typing, and straightforward navigation so the application remains easy to operate during stressful situations.

🔗 Foundation for Multi-Hop Mesh Networking

The current MVP focuses on reliable direct communication, while the architecture provides a foundation for future message relaying:

A → B → C → D

This could allow emergency messages to travel significantly farther than the range of a single connection.


Technology Stack

Language

  • Kotlin

Android Development

  • Android Studio
  • Jetpack Compose

Architecture & State

  • ViewModel
  • Compose state management

Communication

  • Google Nearby Connections API
  • Bluetooth
  • Wi-Fi-based peer-to-peer communication

Data Transfer

  • Nearby Connections Payload API

Development & Collaboration

  • Git
  • GitHub

Testing

  • Multiple physical Android devices
  • Airplane-mode and offline connectivity testing

How We Built It

We started by prototyping the user experience around five core screens:

Splash → Welcome → Nearby Devices → Chat → Emergency Alert

The interface was built using Jetpack Compose, with ViewModels and state management handling connection and messaging state.

Once the core UI flow was ready, we integrated the Nearby Connections API underneath it.

The networking layer handles:

  • Device advertising
  • Nearby device discovery
  • Connection requests
  • Connection lifecycle
  • Payload transmission
  • Incoming payload handling
  • Android permissions

We then tested the application across physical Android devices under different connectivity conditions to ensure communication could continue without normal internet access.


Intended Audience

RescueMesh is designed for people who may lose access to normal communication infrastructure during emergencies.

Potential users include:

  • People affected by floods, earthquakes, cyclones, and other natural disasters
  • Disaster-response volunteers
  • Rescue teams
  • NGOs and humanitarian organizations
  • Communities in remote or poorly connected regions
  • People attending large events where cellular networks may become overloaded
  • Emergency response coordinators

The goal is not to replace existing emergency communication systems, but to provide an additional communication layer when conventional infrastructure becomes unavailable.


Challenges We Ran Into

One of our biggest challenges was getting Nearby Connections to reliably advertise and discover devices without flaky connections or reconnect issues.

Designing a one-to-many broadcast model was another challenge. We wanted something simple enough to demonstrate reliably while still representing real emergency triage behavior through actions such as Reply and Ignore.

Scope management was equally important.

It was tempting to implement full multi-hop mesh forwarding immediately, but we deliberately focused on building a solid one-hop MVP first so the core communication system would work reliably during a live demonstration.

Testing offline communication also required multiple physical devices and realistic scenarios such as airplane mode and unavailable internet connectivity.


Accomplishments We're Proud Of

We successfully built a working, demoable MVP capable of sending and receiving emergency messages with zero internet connectivity.

Instead of limiting communication to simple 1:1 messaging, RescueMesh implements a one-to-many emergency broadcast model.

We also designed an interface specifically around stressful situations — large tap targets, a dark theme, minimal typing, and quick emergency categories.

Most importantly, we proved the core idea end-to-end on real Android devices within a short development window.


What We Learned

Building RescueMesh showed us that infrastructure-independent communication is achievable using ordinary Android smartphones without requiring custom radio hardware.

We also learned that designing software for emergencies is very different from designing for everyday convenience.

Every screen forced us to ask:

"Can someone understand and use this quickly while stressed, moving, or running on limited battery?"

We also discovered that moving from simple device pairing to one-to-many communication introduces significantly more technical and UX complexity than we initially expected.


Team & Contributions

👨‍💻 Aditya — Networking Lead

Responsible for the core communication and networking layer of RescueMesh.

Contributions:

  • Nearby Connections API integration
  • Bluetooth/Wi-Fi Direct communication
  • Device advertising and discovery
  • Connection management
  • Payload sending and receiving
  • Android permission handling
  • Testing communication across both physical phones
  • Debugging and fixing connectivity issues
  • Offline communication testing

👩‍💻 Mansi — Product Lead

Responsible for the application experience, interface, presentation, and overall product polish.

Contributions:

  • Jetpack Compose UI
  • Screen design and implementation
  • Navigation
  • User experience design
  • Emergency message display
  • Demo video
  • Presentation/PPT
  • README documentation
  • App icon
  • Final UI and product polish

What's Next for RescueMesh

🔗 Multi-Hop Mesh Forwarding

Our biggest planned improvement is true multi-hop communication.

Instead of requiring the sender and receiver to be directly connected:

A → B → C → D

Devices could automatically relay emergency messages through other nearby RescueMesh devices.

This could extend communication across an affected area far beyond the range of a single Bluetooth or Wi-Fi connection.

🔄 Message Persistence & Retry

Emergency messages could be stored locally and automatically retried when connections become available again.

This would make RescueMesh more resilient when people are moving or devices temporarily disconnect.

📍 Lightweight Location Tagging

Emergency messages could include approximate location information, allowing responders to prioritize requests based on proximity and urgency.

🔋 Battery-Aware Relay Logic

Since battery life is extremely important during disasters, future versions could avoid selecting low-battery devices as message-relay nodes whenever alternatives are available.


Our Vision

RescueMesh started with a simple idea:

Communication shouldn't disappear just because infrastructure does.

By allowing the smartphones people already carry to communicate directly, RescueMesh aims to create a decentralized emergency communication network that can continue operating when conventional networks cannot.

The current MVP proves the core concept.

The next step is turning those individual connections into a true device-to-device emergency mesh network.

Built With

Share this project:

Updates

Submission history