Make it a thesis, make it a cooperative

A project log for Farmers' Open Source Optical Predator Alert System

FOSOPAS for short, Predalert for convenience

jacobJacob 04/02/2024 at 11:090 Comments

Long time no update!

Make it a thesis

tldr; Doing my B.Sc thesis on this project now, and it's looking good.

Why not base it on an existing project?

In the thesis prep phase I tried achieving the same goals as my project with Viseron, Frigate, Zoneminder and Moonfire-NVR; since it's more sustainable in the long run and beneficial to the community if already established projects with active communities are extended with new functionality, rather than building something entirely new. After three weeks of attempts, I gave up on extending other existing solutions, and rather went back to developing this project.


There's now a web UI, which will be the main UI going forward.

Users can subscribe to push notifications in the web UI, which they'll receive even if the website is closed, if their browser is running. Notifications contain a summarized list detected classes. Clicking a link in the notification opens the web UI.

The web UI is adaptive, and its vertical layout accommodates any number of video feeds. Individual streams can be full-screened.

Zero-Trust mode using openziti partially works. The web UI can be opened, but no videos can be reached and the user can't subscribe to push notifications since the browser context isn't secure (SSL) yet.


Full feature parity in zero-trust mode.

High-priority, easily-noticed webpush notifications when specific classes (predators) are detected.

Notifications contain a reference to which video source is the originator.

Ability to unsubscribe from push notifications.

Anonymization of detected persons using black rectangles, to preserve privacy.

Videos are saved in a ring buffer, and are scrollable in the web UI.

Ability to change certain configuration parameters from the web UI.

Per-source polygon-based relative positioned ROI; with detection constrained to those regions to save compute resources.

Email notifications containing the image and its detections.

Locally collect images and detections of predators, giving users a one-click method to send them to developer (with explicit, per-batch consent), to train more precise predator detection models.

Containerize the app.

Make relay/connection boxes for distributed farm operations with multiple networks.

Guided setup.

ONVIF auto-discovery of local RTSP sources.

Integration with flying camera drones, and their automatic mission control systems.

No external scripts in the web UI.

Make it a cooperative

tldr; I made a software/hardware consultancy business, and I'd love to cooperate with others (preferably in a worker-owned cooperative) to realize this project as a business and get it in the hands of farmers.

Value proposition for worker-members

Own your work, get the direct value of your efforts.

Work from anywhere.

Wrestle control from big tech and sketchy surveillance camera manufacturers using Free Software.

Know you're helping reduce carbon footprint per unit of animal product.

Value proposition of the business

Providing advanced alert-and-repel systems to farmers that's easy to set up, use and maintain. Expandable to other user groups as well, like nature photographers.

Pay for a box preloaded with software, chuck it in your network and follow a quick setup guide.

Pay a subscription fee to securely access the web UI from anywhere using zero trust networking, or roll your own deployment for free using a web server.


This project should really be developed further and deployed more widely, but my expertise lies in software and hardware, not business. I'm no robot yet and thus the need to eat persists. Until now I've spent roughly 600 hours on the project, and will probably spend 200 more before my thesis is finished in May. This is the kind of thing I want to do for a living, and I sure don't want sell out to some capitalist, or become one myself.

What the project needs to succeed

* Someone to handle the administration/business side of things

* Preferably someone well-versed in web development and gitops