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.

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.

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. Download LOAM and open the file to install it. Your phone may ask you to allow installs from your browser.
  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. Why not iPhone?

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, deletes messages after an hour, lets you approve each person who joins, and 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

One phone's hotspot reaches a field or a hall. For more, link another LOAM phone to the network: the host shows a single-use link code, the new phone 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

    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.

What about iPhone?

iPhones can join. They can't host.

Anyone with an iPhone can join a LOAM network: scan the code and it opens in Safari, with nothing to install. Hosting one is different, because iOS doesn't let an app do two things a host needs.

  1. An app can't start a hotspot

    A LOAM phone makes its own Wi-Fi, so people can join anywhere, with no router. On an iPhone, only you can turn on Personal Hotspot, in Settings, and it needs a mobile plan that allows it.

  2. Apps pause in the background

    iOS pauses an app soon after you switch away from it or lock the screen, and an app can't keep a server running. A network hosted on an iPhone would stop the moment its screen went dark.

  3. Got a Mac? Host from that

    There is a LOAM app for Mac, and npx loamnet runs on macOS too, as well as Linux and Windows. Either way your Mac is the host, with iPhones and everything else joining from the browser.

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 messages between your phone and the host, so someone listening on the Wi-Fi can't read them. Pictures and files are encrypted too on a network that requires 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 whole network at once, on the host and on every phone connected to it. The Android app then closes, ready to start again.
  • 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 phones home, 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.

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.