Lattice Lattice

Messaging for the day the internet doesn't work.

Lattice is for the day the internet doesn't work — which most days it does, but some days it won't. Install it, add your important people, leave it alone. When you need it, it's there.

Works without the internet End-to-end encrypted No accounts, no servers Open source
Get Lattice How it works

Get Lattice.

Lattice is free. We keep it that way through donations from people who use it — there are no ads, no in-app purchases, no data being sold to anyone.

Android — direct download

Sideload the Lattice APK on Android. Outside the Play Store, no Google involvement, no install-source attestation phoning home.

Download lattice-android.apk

Sideload steps: open the link on your phone → tap the file → if prompted, allow your browser to "install unknown apps" → confirm. Recent Android may also ask you to reboot once after the install. The APK is signed with a stable Lattice release key — the SHA-256 fingerprint is below; check it before you install.

SHA-256: published with each release at /downloads/lattice-android.apk.sha256

Or, if you'd rather: install via the Play Store once it's listed.

iPhone & iPad

Apple doesn't allow apps to install themselves outside the App Store on stock iOS, so the only practical path on iPhone is the App Store (or TestFlight while we're in beta). We'd love to offer a sideload route here too, but the OS won't permit it for the kind of user we want to reach.

If you're comfortable joining the beta and giving us feedback while we work toward the App Store release, drop a note in our Matrix room for a TestFlight invite.

Want to support development? Lattice is built and maintained by one person. Buy me a coffee if it's useful to you, or send a bit of Bitcoin to bc1qcfdda2757yxrq9g2wh7trdny7sznycmvd4829y. No subscription, no commitment — one-off donations only.


Your phone is more than a camera and an internet device.

Most phones can already talk to each other directly — by Bluetooth, by Wi-Fi — without going through any tower or any company. Lattice uses that. The way a CB radio talks to nearby radios. The way a satellite phone keeps working when the towers go dark.

Most days you'll keep using whatever messenger you already use. Lattice sits quietly in the background until you need it, costing very little battery while it waits.

Four things you should know.

It works when the towers don't.

Government internet shutdowns, regional outages, festival crowds where every cell tower is at capacity, earthquakes, hurricanes — Lattice still moves messages between phones in the same area, hopping through other Lattice users until it reaches the right one.

Nobody else can read it.

End-to-end encrypted with post-quantum cryptography. Each phone in the chain only sees a sealed envelope it can't open. There is no Lattice company server holding your messages — there is no server at all. The only copies of your conversation live on your phone and on the people you sent it to.

It only works as well as the people you've added.

Lattice is for messaging people you actually know — family, close friends, colleagues. The best time to set it up is when you don't need it. We'll remind you once a month to send a quick test message so you know the lines are still working.

Plug in a LoRa dongle and reach across kilometres.

A £20–40 USB-C LoRa stick turns Lattice from a hundred-metre Bluetooth mesh into a long-range radio. Two phones with LoRa dongles can reach each other across a town with no cell network at all. Coming with v1.0's first big update — compatible devices and details.


What it doesn't do.

Lattice is not a Signal replacement. It is a Signal companion. Most of the time, Signal is faster, has more features, and has billions of users to talk to. Lattice is for the moments when those things stop working.

It is also limited by physics. Two phones in different cities cannot reach each other through Lattice unless someone carries the message in between, or the cell network comes back, or a LoRa dongle is in play. We are honest about this — see what Lattice doesn't do for the full list.


For the curious.