EyesOn: Why I Built a Self-Hosted Drone Streaming Platform Instead of Paying for Someone Else's
There's a specific kind of frustration that comes from paying for software that works against you. Not obviously broken software — software that works fine right up until the moment the vendor decides to change the pricing model, sunset the feature you depend on, or route your live mission footage through a server farm you have no visibility into. I've been in IT infrastructure long enough to recognize that pattern, and when I started building out BarnardHQ's operational stack, I decided early that I wasn't going to build a business on someone else's subscription terms.
That decision eventually became EyesOn.
The Problem With Existing Drone Streaming Tools
When you're running commercial drone operations — real ones, not demo flights — live video streaming comes up constantly. Clients want to see what the drone sees. Search and rescue coordinators need real-time feeds to make decisions on the ground. Security clients want a live window into a patrol in progress. The use case is everywhere.
The existing solutions in the market are built for organizations with IT departments and procurement budgets. DroneSense runs $1,500 to $5,000 per year, per drone. FlytBase meters you by the viewer minute — which sounds fine until you're running a multi-hour SAR operation with three coordinators watching the feed and the bill starts compounding in real time. Blu-Link requires $3,000 to $5,000 in dedicated hardware per unit. LiveU starts at $10,000 just to get through setup.
For a one-man operation in Eugene flying enterprise platforms on real missions, none of that math works. More importantly, none of those platforms give you actual control over your data. When the feed goes through a third-party cloud, the footage, the metadata, the telemetry — all of it passes through infrastructure you don't own, governed by terms of service you didn't write.
That matters more than people think. During the Jonathan House search in the Coast Range foothills west of Junction City, I was coordinating directly with Lane County Sheriff's Office and sharing positional data and thermal imagery. That information belongs to the investigation, not to a streaming vendor's cloud architecture.
How EyesOn Actually Works
EyesOn is a self-hosted drone streaming platform I built from the ground up. The core principle is simple: sub-second WebRTC latency, your server, your data, no external dependency.
The companion Android app captures the full DJI controller screen — including the OSD overlay with telemetry, altitude, distance, battery state — and streams that directly to your server. Latency on a good connection runs around 200 milliseconds. That's not "good enough for a demo" latency. That's real-time operational awareness.
What Self-Hosted Actually Means
Self-hosted means the Docker image runs on your infrastructure. Your NAS, your VPS, your on-premise server — whatever you control. No data leaves that environment unless you choose to route it somewhere. If the EyesOn subscription lapses for any reason, the software keeps running. There's no kill switch, no forced migration, no vendor-triggered blackout during an active mission. The software you installed continues to function.
This is the part that most drone operators don't think about until they need it. When you're at 1 AM on an emergency animal recovery in Springfield — like the night I deployed the M30T with the CZI IR3 infrared dome light to locate a one-year-old Doberman named Beau after a car accident — you don't have time to troubleshoot a subscription authentication failure. The system either works or it doesn't. EyesOn is built so that it works regardless of my relationship with a billing server.
The Airspace Awareness Layer
EyesOn integrates live ADS-B tracking via the OpenSky Network. This is built into the platform — not a separate subscription, not a widget bolted on afterward. Real-time manned aircraft positions, updated continuously, visible in the same interface where the drone feed is running.
Operating near KEUG — Eugene Airport — this matters. The Willamette Valley has regular light aircraft traffic, especially on clear days when you'd otherwise want to push altitude for wider coverage. Having ADS-B data in the same window as the live feed means I'm not toggling between apps to maintain situational awareness. That's how you fly clean.
The Pricing Reality
I priced EyesOn because I wanted other operators to actually be able to use it — not because I needed to build a revenue model that justified a venture round.
The Solo tier is $149 setup and $39 per month, which works out to $617 for the first full year. That covers one server, unlimited drones, unlimited concurrent viewers, and community support. There's no per-drone fee. There's no per-viewer charge. You pay the tier and you use it.
To put that in context: DroneSense at $1,500 per year, per drone, means a two-drone operation is paying $3,000 annually before anyone watches a single frame. EyesOn Solo at $617 all-in covers the same two drones with room for the whole client team to watch simultaneously.
Tier Breakdown
For operators running larger footprints, Team runs $299 setup and $89 per month — up to five servers, email support. Agency is $499 setup and $209 per month, with unlimited servers, priority support, and custom branding baked in. Managed is the full-service option at $999 setup and $499 per month, hosted by BarnardHQ, with a dedicated support relationship and SLA.
The Agency tier is where things get interesting for drone service companies that want to white-label a streaming solution without building one. Custom branding means your client sees your company name, not a third-party platform. That matters when you're trying to present a professional, cohesive operation to a municipality or a commercial real estate client.
What Powers the BarnardHQ Operational Stack
EyesOn doesn't exist in isolation. It's part of a broader stack I've built to run BarnardHQ without cloud dependency.
DroneOps Command
DroneOps Command is the flight tracking and operations management layer. As of now, it's tracking 614 logged flights, 9,164 miles, and 148 hours of operational time across the fleet. Every mission gets logged — type, duration, platform, location, outcome. That's not just record-keeping for its own sake. That's the data that tells me which platform performs best in which conditions, how battery cycles are accumulating across 30 batteries, and what my actual operational tempo looks like over time.
When an agency asks me how much SAR experience I have, I don't have to guess. I pull the log.
Local AI Reporting via Ollama and Mistral 7B
Operations reports, flight summaries, and analysis run through a local Ollama instance with Mistral 7B. No data leaves the server. This is the same principle as EyesOn — the computation happens on infrastructure I control, and the outputs stay in-house unless I choose to share them. For security and investigation clients especially, that's not a nice-to-have. It's a requirement.
DroneOps Sync and the Open Source Commitment
All of this is MIT licensed and open source. I'm not building a walled garden. If another operator wants to run DroneOps Sync, fork it, modify it for their workflow, or build on top of EyesOn's architecture, the door is open. The reason I'm publishing it is the same reason I built it: the tools that currently exist weren't built for operators who actually fly missions. They were built for enterprise procurement cycles. Someone needs to build the other version.
Who EyesOn Is Actually For
EyesOn was built for commercial Part 107 operators who fly real missions and need real infrastructure. That's a narrower audience than the drone industry's marketing language usually acknowledges.
If you're flying occasional real estate shoots and your client just wants to see the footage after the fact, you don't need EyesOn. Your existing workflow is fine.
If you're running SAR support for Lane County, doing nighttime security patrols over industrial yards, supporting wildfire mapping in Southern Oregon, or streaming thermal inspection data to a client team watching from a job site trailer — you need streaming infrastructure that doesn't fail during the mission and doesn't charge you by the viewer.
EyesOn Solo at $39 per month is the answer to a problem that the existing market is charging $5,000 a year to solve badly.
The Actual Takeaway
Building EyesOn wasn't a product strategy. It was a decision I made because I was tired of operational dependencies I couldn't control. Every tool in the BarnardHQ stack exists because a commercial alternative either failed in the field, cost more than the mission justified, or routed data through systems that shouldn't have it.
If you're a Part 107 operator who's looked at DroneSense pricing and decided it doesn't fit your operation, EyesOn is worth a serious look. The setup fee gets you the Docker image, the companion app license, and onboarding support — enough to get the server running before your next mission.
Documentation and pricing are at BarnardHQ.com. If you have specific questions about deployment or whether a particular tier fits your workflow, reach out directly. I'm the one who answers.
← Back to all posts