TOTAL OVERWATCH PRODUCTIONS · FREE ALPHA

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.

Free for non-commercial use · v0.1.11 (build 111) · 78 MB · Google Play & App Store builds are coming — this alpha installs directly.
Pull-based, not pushNothing moves until someone watches. A feed crosses each hop once, then fans out to everyone next to you — the edge stays quiet.
No media server to hostEvery node — and every phone — already is one. Power on, it's on the dashboard by name.
Any feed, on the mapGoPro, drone app, screen share — every feed becomes an ATAK marker. No SDK, no integration.
One encrypted networkA name and a password; the password is the key. Islands bridged through our cloud — anywhere in the world.

Install the alpha (Android)

  1. On your phone, download meshflow-alpha.apk (or the versioned file).
  2. Open it. Android will ask to allow installs from your browser — allow it once, then Install. If Play Protect shows a warning, tap More details → Install anyway — the alpha is distributed here rather than through the store, so it isn't on Google's verified list yet.
  3. Open MeshFlow. Enter your team's global network name and password (or just use the default network to look around). That's the whole setup.
  4. Optional: turn on Share to ATAK in Settings and every feed you can see shows up on your ATAK map.

SHA-256: 4ac7e56196f650777a2903bb1c11dd9c99a3f5fe568dbd807f5a668a6231ad52
Signed with our release key. When the Google Play build ships, you may need to uninstall this alpha before installing from Play (different signing certificate). Your network isn't stored on the device in alpha — re-enter it if you reinstall. Terms · Privacy · support: info@totaloverwatchproductions.com

State of the alpha

PlatformStatusHow to get it
Web console● RELEASEDtotaloverwatchproductions.com/app — nothing to install. Discover, route and watch; share a camera or your screen from a desktop browser.
Android● RELEASED · direct downloadmeshflow-alpha.apk from this page, signed with our release key. The Google Play listing is in review; until it's approved, the website build is the Android build.
iPhone / iPad● COMING SOONThe 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.13Optional. Node binaries for OpenMANET hardware (Raspberry Pi, GL.iNet HaLowLink 2) with a ground-up build guide: Build a node →

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: your network isn't remembered between installs yet, the Play Protect prompt is a thing until the store listing lands, and every install currently shares one default network unless 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.13 for ARM64 and MIPS, free for non-commercial use.

🛠 Build a node — guide + downloads

FAQ

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. Your network isn't remembered between reinstalls yet; re-enter it.

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 — the APK on this page. 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.

Why does Android warn me when I install it?

Because the alpha is downloaded from here rather than the Play Store, Android's Play Protect hasn't seen it; tap More details → Install anyway. The APK is signed with our release key and its SHA-256 is printed above so you can check what you downloaded. The Play Store listing is in review; when it's live you may need to uninstall this build before installing from Play, since the store re-signs apps with its own certificate.

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.