MeshFlow puts every feed on the map. Anybody's GoPro, anybody's drone, anything that shows on a phone — shared with everyone on your tactical network at the edge, in the least bandwidth you could spend, and landing on every teammate's ATAK as a marker you can tap. No media server to host. No setup. No backend. One app.
Get the alpha (Android)
- Install MeshFlow from Google Play. Updates arrive through Play like any other app.
- Open MeshFlow. Enter your team's global network name and password (or just use the default network to look around). MeshFlow remembers it. That's the whole setup.
- Optional: turn on Share to ATAK in Settings and every feed you can see shows up on your ATAK map.
Installed the APK from this page earlier? Uninstall it, then install from Google Play. The two builds can't update each other. Then enter your network again.
Terms · Privacy · support: info@totaloverwatchproductions.com
State of the alpha
| Platform | Status | How to get it |
|---|---|---|
| Web console | ● RELEASED | totaloverwatchproductions.com/app — nothing to install. Discover, route and watch; share a camera or your screen from a desktop browser. |
| Android | ● RELEASED · 0.1.20 | Google Play, free alpha. New in 0.1.20: the Meshtastic bridge (beta; see the FAQ). |
| iPhone / iPad | ● COMING SOON | The iOS build is in progress (it shares the app; the native camera, screen-broadcast and WebRTC shell are what's being finished). Email us to be told when TestFlight opens. |
| Mesh nodes | ● RELEASED · 0.1.20 | Optional. Node binaries for OpenMANET 1.8 hardware (Raspberry Pi, GL.iNet HaLowLink 2) with a ground-up build guide: Build a node → (on OpenMANET 1.6, use node release 0.1.18). |
Alpha means the core loop — share a feed, see it on everyone's map — works and is what we use in the field, and that some edges are still rough. For one, every install shares one default network until you enter your own. Report anything you hit: info@totaloverwatchproductions.com.
The demos
Twelve short, narrated 8-bit demos — one per capability. Sound on.
Prefer one page? Open the full gallery.
Try the web console
The same MeshFlow console, in your browser — discover, route and watch streams on your network, no install:
Where it came from
MeshFlow started as the video layer for the OpenMANET open-source tactical mesh — B.A.T.M.A.N.-adv on HaLow radios. The mesh was already there; video was the process nobody had solved. So MeshFlow is pull-based end to end, ships a media server on every node, speaks ATAK natively, and bridges isolated islands to each other through a small cloud relay — without a server anyone has to stand up.
Hardware optional. Pi and GL.iNet HaLow nodes make a field mesh; a phone with a hotspot and a cell signal is a gateway on its own.
Build your own node
Want range? Put MeshFlow on an OpenMANET HaLow radio. Flash OpenMANET on a Raspberry Pi 4 or a GL.iNet HaLowLink 2, copy in our node binary and the dashboard, enable one service — and every camera on the mesh is on the dashboard by name, with a media server on every node that phones can hand their feeds to. Node release 0.1.20 for ARM64 and MIPS, free for non-commercial use.
🛠 Build a node — guide + downloadsFAQ
What does MeshFlow actually do?
It puts every video feed your team has — a GoPro, a drone app, a phone camera, a screen — on every teammate's map, over whatever network you're on: a HaLow mesh, a hotspot, a cell signal. There's no media server to stand up because every phone (and every node) already is one. Feeds are pulled, never pushed: nothing crosses the air until someone taps to watch, and a feed crosses each hop once no matter how many people watch it.
Is it free?
Yes for personal, hobbyist and educational use. Businesses, agencies and other revenue-generating organisations need a commercial license: an annual flat rate per organisation, with no per-seat or per-node limits. Ask us — during the alpha the app itself has no paywall.
Do I need any hardware?
No. A phone with a hotspot and a cell signal is a complete gateway on its own; two phones on the same Wi-Fi are a mesh. Nodes (build one here) are what you add for kilometres of HaLow range and for a media server that sits in the field rather than in someone's pocket.
Does it need the internet? Does my video go through your servers?
On a local mesh, no internet is needed and nothing leaves the mesh. Our cloud only does two things: a rendezvous so islands that do have an uplink can find each other, and a relay for the case where two islands can't reach each other directly. Video goes peer to peer whenever it can. The node software has no telemetry at all and is built to run air-gapped. During the alpha the app checks in with the rendezvous whenever it has an internet path, so islands bridge with zero setup.
What is a "network", and why should I set one?
A network is a name and a password; the password is the encryption key. Everyone who enters the same pair sees each other's feeds and nobody else's. If you don't enter one, you're on the shared default network with every other alpha install — fine for looking around, not for a real team. Pick a name and password and give them to your team. MeshFlow remembers your network; if you reinstall the app, enter it again.
Can Meshtastic users see us, and we them?
Yes, with the Meshtastic bridge (beta, off by default). A phone running both MeshFlow and the Meshtastic app turns on Bridge Meshtastic in Settings: ATAK positions and chat then cross between your Meshtastic (LoRa) mesh and your MeshFlow network, both ways — so a Meshtastic user with no internet shows up on MeshFlow users' ATAK maps, and they on theirs. One-time setup: in the Meshtastic app, turn on its TAK Server and export the TAK data package (Settings → TAK Server → Export TAK Data Package), then import it in MeshFlow. Needs Meshtastic firmware 2.7 or later (positions and chat; map markers need 2.8). A chat shows its sender's callsign when the sender's ATAK is connected to its Meshtastic app.
How do I connect ATAK to MeshFlow for positions and chat?
Turn on Share ATAK positions & chat in Settings. MeshFlow shows the one-time ATAK setup right there: add a server in ATAK at 127.0.0.1, port 8088, TCP, no SSL — the address has a Copy button. Video markers (Share to ATAK) need none of this.
How does it show up in ATAK?
Turn on Share to ATAK in Settings. Every feed MeshFlow can see becomes a marker on your ATAK map — tap it and ATAK's own video player opens the feed. It works with ATAK on the same phone with no plugin, no server and no ATAK configuration: MeshFlow serves the stream to ATAK locally and only encodes it while ATAK is actually watching. Markers are placed at the source's location, never yours.
Which cameras and feeds work?
Your phone's camera. Anything on your phone's screen — a drone app, a thermal viewer, a map — via Screen Share. A GoPro, started over Bluetooth with one tap (verified on the HERO 11; your phone never has to join the camera's Wi-Fi). On a node, anything that can publish RTSP or RTMP, which is most IP cameras and encoders.
What does it work on?
Android — Google Play. Web — Chrome or Edge on a desktop for the full console including camera and screen share (Android Chrome can't share its screen; the app can). iPhone — coming soon. Nodes — Raspberry Pi 4 and GL.iNet HaLowLink 2 running OpenMANET.
I installed the APK from this page before. What now?
Uninstall it, then install MeshFlow from Google Play. The website build and the Play build are signed differently, so Android won't let one update the other. Uninstalling clears the app's settings, so enter your network again afterwards.
How much bandwidth does it use?
Only what's being watched. A feed nobody is watching costs nothing on the air. When one person watches, it crosses each hop between them and the source once; a second and third viewer next to them add nothing on that path, because the phone that already has it re-shares it. Under a bad link MeshFlow keeps resolution and drops frame rate rather than turning the picture to mush.
What do you collect?
From a node: nothing — no telemetry, no update pings, no license checks. From the app: what it takes to rendezvous when you have internet (a random peer id and which network name it's on). We don't see or store your video. Privacy · Terms.
Something broke. Who do I tell?
info@totaloverwatchproductions.com. Say which platform, what you were sharing, and what the other end saw. Alpha reports are what set the order we fix things in.