RailChat

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.

TRAIN 12951

room: t/12951 — everyone on the train

COACH S7

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.

RailChat

Train & coach rooms

Auto-generated from your train number, no setup required from anyone else.

Core

Multi-hop mesh

Up to 7 hops of relay over Bluetooth LE, no internet involved.

Core

End-to-end encryption

Noise Protocol private messages — X25519 + ChaCha20-Poly1305.

Core

Group channels

Create a named, optionally password-locked group with /join.

Core

Photos & voice notes

Not just text — share images and short voice messages too.

Core

Panic wipe

Triple-tap to instantly erase everything RailChat has stored.

Commands

A few things worth knowing

Type thisWhat happens
/join groupnameCreate or join a named group. Add a password after the name to lock it.
/msg nickname helloSend a private, encrypted message to one person.
/wList 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.

Download the APK
RailChat is a fork of bitchat — the mesh and encryption underneath are unmodified from permissionlesstech/bitchat-android. Source for this fork: soolame/railchat-android.