20.07 logo: a location pin with a signal trace

Offline emergency communication for when the network fails.

Find your group, call for help and share photos with no cell signal and no internet. Phones relay for each other over Bluetooth, and an optional internet bridge carries your group further, even with Bluetooth off. Free, open source, no accounts.

Android 8+MIT licensedNo accounts No servers of oursEncrypted for your group

Built for when networks fail

Cellular networks assume normal conditions. They break down in a recurring set of situations, whether the network is overloaded by too many people or there was never much of it. In each case the same needs return: find your group, call for help, get proof of what is happening out.

Floods and natural disasters

Floods, earthquakes, cyclones, landslides and wildfires take towers and power down first. Keep your family or team in contact when the usual networks are gone.

Emergency rescue and response

Volunteers, search-and-rescue teams and neighbourhood responders can see each other on a live radar and raise an SOS that is relayed ahead of everything else.

Network congestion

Festivals, stadiums, rallies and pilgrimages overload a single cell tower. Phone-to-phone relaying keeps a group connected when the network is full.

Stampedes and crowd crush

In a dense crowd you lose people in seconds. Walk toward the dot instead of reading a map, and call for help that hops phone to phone.

Blackouts and remote areas

Power cuts, hiking, camping and expeditions with no towers nearby: offline communication that needs no SIM, no data plan and no infrastructure.

Jammed or untrusted networks

Where networks are throttled, jammed or not trusted, there is no account to block and no central server to switch off.

What you get

Three core tools, plus an optional bridge when any phone has a connection.

Live group radar

A radar of your group around you: walk toward the dot. Works on Bluetooth alone, with a hot/cold fallback if you decline location.

SOS that goes first

An authenticated distress alert that hops from phone to phone, with distance shown in hops, and is sent ahead of all other traffic.

Photos and files

Encrypted incident photos and files up to 400 KB relay across the mesh, so proof does not live on just one phone.

Last seen

A mate who dropped out shows as "name, 14 min ago, 3.2 km NE" for up to six hours, held in memory only.

Internet reach (optional)

One off-by-default switch. A phone with Wi-Fi or mobile data carries your group's encrypted traffic to mates out of Bluetooth range, even with Bluetooth off.

Stranger carrying

Phones outside your group, with the switch on, can carry your sealed frames onward. They see sizes and timing, never content.

How offline communication works here

Diagram: phones in a group relay over Bluetooth; any phone with a connection bridges through public relays to a distant group that is out of Bluetooth range, even with Bluetooth off.
Make a group. One QR code or link creates a random key. Share it in person; the app never brokers trust.
Phones relay for each other. Bluetooth links form a mesh. Positions, messages, SOS and photos hop between phones, with no tower in the loop.
Out of range? The bridge. With Internet reach on, any phone that has a connection sends and receives for the group through public relays, so two phones with Bluetooth off can still talk.

The radar: walk toward the dot

No map to read and no signal to find. Your compass and GPS place everyone in your group around you.

The 20.07 radar: you at the centre, group members as dots showing direction and distance, a fainter dot for an older position, and north marked at the top.
  • Direction and distance. Each dot sits where that person is, relative to the way you are facing. Rings show how far.
  • Age you can see. A dot fades as its position gets old, so an old fix never looks like a live one.
  • Last seen. People who dropped out move to a list: name, minutes ago, distance and direction.
  • Always oriented. A north marker on the edge keeps you oriented as you turn.
  • Private. Positions are encrypted for your group and live in memory only.

Design choices

No accounts, ever

One QR code creates a group. No owner is tied to it: removing one person does not expose or kill the group.

Blind relay by design

Every phone, even ones outside your group, can carry your traffic that is architecturally opaque to them, not just "encrypted so please don't look".

The radio ID rotates

Your Bluetooth advertising ID changes every 60 seconds, so passive scanning sees a changing, meaningless value.

GPS never touches disk

Positions live in memory only and are gone when the app is force-quit.

Built for crowds

SOS first, files last, slow-down under congestion and per-hour limits protect relays. Simulated up to 10,000 users.

The app can disguise itself

One switch shows the home-screen icon and notification as a plain utility app instead.

Inspired by bitchat, built for a different job

20.07 adapts routing ideas from the public design of bitchat, an open-source Bluetooth mesh chat app: forward-first flooding with a hop limit, de-duplication, relay jitter and store-and-forward couriers. We applied them to a different use case, keeping a group together and safe when networks fail, and changed them to fit: our own wire format, our own rotating radio IDs, our own group-key encryption, and a live radar. It is independent and not affiliated with or endorsed by bitchat or its authors.

Questions

How can I communicate during a flood or natural disaster when networks are down?

20.07 lets phones in your group talk directly over Bluetooth, hopping from phone to phone with no cell tower, SIM or internet. You get a live radar of your group, messages, SOS alerts and photo sharing.

Does it work without internet or mobile signal?

Yes. The Bluetooth mesh needs neither. The optional Internet reach switch lets any phone that has a connection carry your group's encrypted messages further.

What about network congestion at a festival, stadium or rally?

Phones relay for each other, so your group stays connected when the tower is overloaded. SOS alerts are sent first, and the app slows its own background traffic under load.

Is it private and secure?

Everything is encrypted with a key only your group holds; there are no accounts and no servers of ours. With Internet reach on, public relays can see your phone's internet address, message sizes and timing, but not content. Read the privacy policy.

Is it free? How do I install it?

Free and open source (MIT). Not on the Play Store: download the signed APK above, allow installs from that source once, and share the file with friends offline.

How many people can use it together?

A group suits a few to several people who stay together, and every phone with the app can relay for others. Large-crowd behaviour is tested in simulation, not yet in the field. See the known limitations.

How is 20.07 different from bitchat?

The same ideas: a Bluetooth mesh where every phone relays, no accounts or phone numbers, open source, and routing ideas such as hop limits, de-duplication, jitter and store-and-forward couriers, plus padding message sizes. What differs: bitchat is a chat app; 20.07 is for keeping a private group together and safe. It adds a live radar to find your people, an SOS that is sent ahead of everything else, photos and files, a "last seen" list, and an optional internet bridge (through public relays) so phones with Bluetooth off or out of range can still be reached. Groups are private: a random shared key from a QR code, with rotating radio IDs instead of public identities.

Is 20.07 compatible with bitchat?

No. The two apps use different wire formats and service IDs, so they cannot talk to each other. 20.07 borrows design ideas, not the protocol, and is not affiliated with bitchat.

Install and build

Download 20.07 v0.10.1 (signed APK), open it, and allow installs from that source once in Android settings. Needs Android 8.0 or later. Details: README.

Build it yourself: git clone the repo, then from 20.07/android/ run ./gradlew assembleDebug. Needs JDK 17 and the Android SDK.