20.07

Find your group and stay reachable — in a crowd or off the grid, even with no signal.

MIT licensed Android · Kotlin No servers No accounts Bluetooth LE only
Download the latest APK Source Full writeup

Sideloaded APK — allow installs from this source once in Android settings. Min SDK 26 (8.0+).

When cell towers are jammed, throttled, or unavailable, people lose the ability to find each other, call for help, or share proof of what's happening. 20.07 fixes that with zero infrastructure: phones relay for each other directly over Bluetooth. No SIM, no servers, no accounts — everything's encrypted under a key only your group holds.

Three solutions

Navigate

A live radar of your group around you — walk toward the dot, don't read a map.

SOS

An authenticated distress broadcast that hops phone to phone, distance shown in hops.

Incident photos

Photos encrypted and relayed across the mesh — proof that doesn't live on just one phone.

Why this exists

Cellular networks assume normal conditions. That breaks down in a specific, recurring set of situations, whether the network is overloaded by too many people or there was never much of it to begin with: natural disasters and blackouts, stampedes and crowd crush, festivals and events with no signal or no local data plan, hiking and remote areas with no towers nearby, and demonstrations where networks are jammed, throttled, or not trusted. In every case the same three needs recur — find your group, call for help, get incident photos out — and 20.07 does exactly that, phone-to-phone, with no infrastructure required.

Design choices

Read before relying on this for anything real. Not yet validated at real crowd scale, some components are compile-tested but not device-tested, and the release build isn't signed yet. All documented plainly in the README's Known Limitations.

Build it yourself

git clone the repo, then from 20.07/: ./gradlew assembleDebug builds the APK, ./gradlew test detekt runs the suite. Needs JDK 17 + Android SDK (platform 34). Full steps in the README.