https://github.com/stipecmv/watchforge
WatchForge is a self-hosted, AI-powered video surveillance system built in Go. It detects people, animals, and insects in video feeds using YOLOv4-tiny and GoCV, with a native UI for mobile and desktop via Fyne.
https://github.com/stipecmv/watchforge
ai camerasystem fyne go movols opencv
Last synced: 4 months ago
JSON representation
WatchForge is a self-hosted, AI-powered video surveillance system built in Go. It detects people, animals, and insects in video feeds using YOLOv4-tiny and GoCV, with a native UI for mobile and desktop via Fyne.
- Host: GitHub
- URL: https://github.com/stipecmv/watchforge
- Owner: StipecMV
- License: gpl-3.0
- Created: 2025-06-25T17:05:25.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2025-06-25T17:38:03.000Z (4 months ago)
- Last Synced: 2025-06-25T18:36:20.817Z (4 months ago)
- Topics: ai, camerasystem, fyne, go, movols, opencv
- Homepage:
- Size: 1.52 MB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 27
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
![]()
# WatchForge
WatchForge is a self-hosted, AI-powered video processing system built in Go. It detects people, animals, and insects in video feeds using YOLOv4-tiny and GoCV, and provides a cross-platform user interface via Fyne for mobile and desktop access.
## 🚀 Project Overview
WatchForge enables intelligent surveillance by processing video files or streams, detecting motion and objects of interest, and serving annotated results through a Go-based server. It is designed to run on resource-constrained devices like mini PCs and supports modular development with future extensibility in mind.
## ✨ Features
- 🎥 Video processing using GoCV (OpenCV bindings for Go)
- 🧠 AI detection with YOLOv4-tiny (ONNX format)
- 📦 Self-hosted Go server with REST API
- 🔒 User management with PostgreSQL + GORM
- 📱 Native UI for Android, Linux, Windows (via Fyne)
- 📤 Serve processed videos to mobile/desktop clients
- 🔄 Modular architecture for future model upgrades## 🛠️ Tech Stack
- **Language**: Go
- **UI**: Fyne (mobile + desktop)
- **AI**: YOLOv4-tiny (ONNX) + OpenCV DNN via GoCV
- **Database**: PostgreSQL
- **ORM**: GORM
- **Video I/O**: GoCV (FFmpeg-enabled OpenCV)
- **Server**: Go HTTP server (net/http or Gin)## 👨💻 Getting Started
### Prerequisites
- Go 1.20+
- OpenCV with FFmpeg support
- GoCV (`gocv.io/x/gocv`)
- PostgreSQL (local or Docker)
- Git### Clone the Repository
```bash
git clone https://github.com/yourusername/watchforge.git
cd watchforge