Offline mesh chat for train passengers
Every phone on the
train is a relay.
RailChat lets you message anyone nearby over Bluetooth — no internet, no SIM, no account. Your message hops phone to phone until it reaches who you're talking to, even three coaches down.
How it works
No towers. Just the phones already next to you.
Two nearby phones can already talk over Bluetooth, no data plan needed. RailChat's trick is that a message doesn't stop there — every phone running it between you and your friend quietly relays it onward, one hop at a time.
Two ways in
Your whole train, or just your coach.
Tell RailChat your train number and coach once — it's optional and never leaves your phone — and two rooms appear automatically, nested exactly like the train itself.
room: t/12951 — everyone on the train
room: t/12951/S7 — just your coach
Everything it does
Built on bitchat's mesh, extended for trains.
RailChat forks bitchat-android — the mesh, encryption, and channel system below are bitchat's, unmodified.
Train & coach rooms
Auto-generated from your train number, no setup required from anyone else.
Multi-hop mesh
Up to 7 hops of relay over Bluetooth LE, no internet involved.
End-to-end encryption
Noise Protocol private messages — X25519 + ChaCha20-Poly1305.
Group channels
Create a named, optionally password-locked group with /join.
Photos & voice notes
Not just text — share images and short voice messages too.
Panic wipe
Triple-tap to instantly erase everything RailChat has stored.
Commands
A few things worth knowing
| Type this | What happens |
|---|---|
| /join groupname | Create or join a named group. Add a password after the name to lock it. |
| /msg nickname hello | Send a private, encrypted message to one person. |
| /w | List everyone currently nearby and online. |
Try it on your next journey.
Debug build, rebuilt automatically on every push — not on an app store, sideload it directly.