Talk to everyone around you. No internet needed.

LOAM turns a phone, a laptop or a Raspberry Pi into a private messaging network for everyone nearby. People scan a code and they're in: no app to install, no account, no cloud.

Get it on Google Play Download for your computer

64-bit Android 7 or newer, a Mac, Windows or Linux computer, or any computer with Node.js 22.14+.
Getting started takes about a minute.

  • Festivals & events
  • Campsites & boats
  • Conferences
  • Shelters & relief
  • Power cuts
  • Classrooms
  • Community spaces

How it works

A network of your own in three steps.

One device hosts. Everyone else just needs a phone with a camera and a browser.

  1. LOAM's first setup screen on Android: choose your language from fifteen
    1

    Start a network

    Open LOAM on an Android phone, tablet or laptop, or on a Mac, Windows or Linux computer, or run npx loamnet on a laptop or Raspberry Pi. Pick a language, the kind of network you want and a name. That's the setup.

  2. LOAM's share screen on Android, showing the code people scan to join
    2

    People scan the code

    The host shows a code. Anyone nearby scans it with their phone's camera and LOAM opens in their browser. The phone's own hotspot works where there's no Wi-Fi at all.

  3. A LOAM channel on a phone: messages, a shared picture and reactions
    3

    Everyone talks

    Channels, threads, direct messages, pictures and reactions, all on the local network. Nothing goes to the internet, even if there is some, unless the host turns on an online assistant, which the admin page warns about, or links another LOAM network, which then gets the public channels.

Get started

Host from a phone or a computer.

They all run the same network. Choose whatever you have with you.

Android phone, tablet or laptop

Runs the network, starts a hotspot (or uses the Wi-Fi it is on) and shows the codes.

  1. Install LOAM from Google Play. It's free.
  2. Answer four questions: language, kind of network, name, and how people connect.
  3. Show the code from the share screen, or turn on Display mode and leave the phone where people can see it.

64-bit Android 7 or newer. Hosting a hotspot needs Android 8 or newer. The APK is the same app, for phones without Google Play. Which should I use?

Laptop or Raspberry Pi

One command on macOS, Linux or Windows. Prefer a regular app? LOAM for your computer is a download for all three.

On npm
  • Needs Node.js 22.14 or newer.
  • The join code stays on screen. Press o to open LOAM in your browser as the network's admin.
  • Add --encrypt to encrypt the database. Pictures and files are stored beside it, unencrypted.
  • Install it for good with npm install -g loamnet, then run loam.

Mac, Windows or Linux computer

A regular app for people who would rather not open a terminal. It runs the same network and keeps the code on screen.

  1. Download LOAM for your computer and open it.
  2. Answer a few questions: the network's name, the kind of network, and how its messages are stored.
  3. Show the code. Closing the window keeps the network running; Quit stops it.

The Mac app is signed and notarized by Apple. The Windows installer isn't signed yet, so Windows asks you to confirm it once. Windows and Linux builds are for 64-bit Intel or AMD computers.

Features

Everything a group needs to stay in touch.

Familiar to anyone who has used a messaging app, without the parts that need the internet.

Channels, threads and direct messages

Public channels for everyone, private ones by invitation, threaded replies that keep side conversations tidy, and one-to-one messages. Share pictures, react, search everything, and write in any language, left to right or right to left.

  • Pictures resized on your phone before they're sent
  • Search across every channel you can see
  • Light and dark, following your phone
LOAM's channel list: Announcements, General, Lost and found, Rides home and Volunteers, with direct messages below
A direct message conversation in LOAM

Choose how private your network is

When you start a network, LOAM asks one plain question. Private and short-lived gives everyone a random name and deletes messages after an hour, on the host and on the phones connected to it. People who scan the code on the host's own screen join at once; anyone else waits for your approval. It throws away the key to its messages when LOAM stops (pictures and files are deleted the next time it starts). Community lets people pick names and photos and keeps the conversation going for days.

Or choose every setting yourself: joining rules, message lifetime, roles and more.

Choosing the kind of network on LOAM for Android

Leave a phone in a window

Display mode fills the screen with the join codes, big enough to scan from across a room, and keeps LOAM in front. Put a spare phone on a noticeboard or a reception desk and anyone walking past can join. On a private network the code includes a fresh invite that lets people straight in, and it changes every 10 minutes.

LOAM's Display mode: the network name and a large join code filling the screen

A control panel in the terminal

On a laptop or Raspberry Pi, npx loamnet keeps the join code on screen and puts the rest a key away: who is connected, who has joined, the network's settings, and what went wrong if something did. Press o and LOAM opens in your browser with you as the network's admin. Messages and moderation stay in the app.

Kiosk mode locks the terminal to the join code until you enter a password, so a laptop on a front desk can welcome people without anyone changing the network from it.

Link networks together

A phone hotspot admits a limited number of devices, set by the phone. For a larger group, host from a laptop or Raspberry Pi on a router. To join two LOAM networks, the host shows a single-use link code, the other host scans it, and their public channels join up. Direct messages and private channels stay where they are.

The Link another LOAM node screen on Android, showing a single-use link code

Run it the way you want

Name the network, set who can join and how long messages last, give people moderator or greeter roles, and handle reports. Everything is in plain settings, on the host.

Settings
LOAM's network settings in a desktop browser
  • Fifteen languages

    English, Español, Français, العربية, فارسی, Português, Українська, Русский, Türkçe, မြန်မာ, اردو, دری, پښتو, Kiswahili and বাংলা. The host picks one for the whole network. The 14 besides English are machine translations still waiting for a native speaker's review.

  • Moderation

    Approve newcomers, appoint moderators and greeters, handle reports, and let anyone block someone they'd rather not hear from.

  • Keeps working on a bad signal

    While LOAM stays open, phones keep what they've already seen and reconnect on their own when the Wi-Fi drops out.

  • An assistant, if you want one

    Run a small AI model on the host phone, use Ollama or another model server on a computer nearby, or connect an online service such as OpenRouter or OpenAI. An online service gets the messages people write to the assistant, and both the admin page and the assistant's chat say so. Off unless you turn it on.

Privacy and safety

Private because there's nothing to collect.

LOAM has no accounts, no cloud and no company in the middle. What people post stays on the device that runs the network, and on their own phones, unless the host links another network or turns on an online assistant.

Read the privacy policy
  • No sign-up No email, no phone number. Everyone gets a generated name and picture, or picks their own.
  • Encrypted connections Joining by the code encrypts everything between your phone and the host, pictures and files included, so someone listening on the Wi-Fi can't read it.
  • Encrypted storage Messages can be stored encrypted on the host, under a key that stays on that device.
  • Emergency reset Press and hold to erase the network on the host and tell every connected phone to clear its copy. The Android app then closes, ready to start again. A network you linked keeps its own copy of the public channels.
  • For adults, and here's why LOAM is for people 18 and over. That isn't because of anything in it: it's a plain messaging tool with nothing to browse, so people only see what others on their network write. It's because there are no accounts and no company in the middle, so nobody can check ages or look out for children the way an app made for them must. See our child safety standards.
  • No tracking in the app No analytics, no advertising, no crash reporting. Nothing in the app reports to us, so if something goes wrong, or you would like a feature, please open an issue or email us.

Open source

Free to use, read and change.

LOAM is open source under the AGPL. Read every line, run your own network, and help build what comes next.

FAQ

Questions people ask.

Something else? Ask us on GitHub or by email.

Does everyone need to install LOAM?

No, only the host. Everyone else scans the code and LOAM opens in their browser. Any phone, tablet or laptop with a browser can join, iPhones included.

Does it need the internet?

No. The host and the people joining only need to be on the same Wi-Fi, and the Android app can make that Wi-Fi itself with a hotspot. A computer host with no Wi-Fi around can use a USB-powered travel router or a phone's hotspot (how). Nothing goes to the internet unless the host turns on an online assistant or links another LOAM network, which then gets the public channels.

Is it end-to-end encrypted?

No. Joining by the code encrypts everything between your phone and the host, pictures and files included, so someone else on the Wi-Fi can't read it. The host can, the same way a chat server can. That's what lets the host moderate, and it can keep messages encrypted on disk under a key that stays on that device. So the person you trust is whoever runs the host.

There's one gap we can't close on plain local Wi-Fi. LOAM itself loads into your browser unencrypted, so someone who can tamper with the network's traffic could hand you a changed copy that reads your messages. And someone who types the address instead of scanning the code gets much less. On a network that doesn't require encrypted connections, their sign-in cookie travels unencrypted, so anyone listening on the Wi-Fi can copy it, then read their messages and send messages as them. Their pictures and files travel unencrypted too. Scanning the code keeps the cookie, pictures and files encrypted, and a host that requires encrypted connections asks them to scan it. The security notes have the details.

Is it a mesh network?

No. Each network has one host, and phones connect to it over Wi-Fi. Two hosts that can reach each other can be linked, and their public channels join up. Direct messages and private channels stay on the host they started on. Linked networks can also carry sealed messages for each other, but that's experimental and off unless the host turns it on.

Google Play or the APK?

They're the same app. Google Play keeps it up to date like any other app. The APK from GitHub is for phones without Google Play, or for people who'd rather not use it. It never checks for updates by itself, but its first screen has a Check for updates button. Each release on GitHub lists the APK's checksum and build attestation, so you can check the file before installing it.

Can an iPhone host a network?

No, though iPhones can join one. iOS doesn't let an app start a hotspot, so only you can turn on Personal Hotspot in Settings, and only if your mobile plan allows it. iOS also pauses an app soon after you switch away or lock the screen, so a network hosted on an iPhone would stop when the screen went dark.

If you have a Mac, host from that. There's a LOAM app for Mac, and npx loamnet runs on macOS too.

What does it cost?

Nothing. LOAM is free and open source under the AGPL, with no ads and no in-app purchases. If it helped you, there's a Ko-fi.

Get in touch

Report a problem, ask for a feature, or support LOAM.

Report a problem or ask for a feature

The LOAM app has no analytics or crash reporting, so we only hear about problems you tell us about. To report one, or to ask for a feature, open an issue on GitHub or email us at opensource@magiczebra.co.uk. For anything about child safety, see our child safety standards.

Support LOAM

LOAM is free, with no ads and no in-app purchases. If it helped you, you can buy us a coffee on Ko-fi, tell people about it, star it on GitHub, or help build it.