Nicodemus Mapogha. 12+ years taking video AI from prototype to production: GPU inference at the edge, fleets managed from the cloud, and forensic search across thousands of camera streams.
This camera wall is real footage. Every box, track, zone alert and count comes from a YOLOv8 detector and a multi-object tracker. Press the button and the model runs on your own device.
Downloads a 12 MB model once, then detects on CAM 01 in your browser with WebAssembly.
Footage: Intel IoT DevKit sample videos, CC BY 4.0.
5 → 30
frames per second, adapting to scene motion so idle cameras cost almost nothing
1 codebase
three deployment modes: cloud hub, on-site edge appliance, all-in-one
Turing → Blackwell
GPU generations running the same DeepStream pipeline in the field
0 lost events
when the internet drops: edge devices journal locally and replay on reconnect
Edge resilience
The internet goes down. The alarms still arrive.
Each customer site runs a GPU appliance that does the seeing. A cloud hub does the managing. They talk over an encrypted WireGuard tunnel using MQTT. Click a site to cut its link and watch it keep a write-ahead log, then replay every event the moment it reconnects.
hub ⇄ 3 edge sitesall links up
Simplified visual of the MDIX hub and edge protocol: event sync, 60-second heartbeats, media push and offline journaling.
GPU capacity
How many cameras fit on one GPU?
Frames from every camera are gathered into a 50 millisecond window and sent to the GPU as one batch. Pick a card from our field fleet and set how busy the scenes are. The planner sizes camera capacity from video memory, and the right side shows the batching live.
capacity plannerbatched inference · 50 ms window · max batch 24
44cameras
frames / sec0
batches / sec0
avg batch0
vs. fixed 30 FPS0%
Planner uses the fleet rule of roughly 2.8 cameras per GiB of video memory. Idle cameras run at 5 FPS, cameras with motion at 15 FPS.
Forensic search
Search hours of footage by describing it.
Investigators do not want to scrub video. In MDI Veritas every detection is turned into a vector with a vision language model, stored in PostgreSQL with pgvector, and ranked by similarity to plain words. Try a query.
Every snapshot is a real YOLOv8 detection cut from the footage above. In the browser your words are matched against tags on each detection; in production MDI Veritas compares SigLIP 2 image and text embeddings (768 dimensions) with cosine similarity.
Secure delivery
A green build is not the same as shipping.
Appliances on customer premises never hold source code or repository keys. They receive a signed, edge-only bundle, and promotion to customers is a separate, deliberate step. Run a release, then try to slip a tampered one past a device.
release pipeline · GitHub Actionssigning key lives only in CI
ready
Selected work
Production platforms, not prototypes.
From a Raspberry Pi counting people at a door to a hub orchestrating GPU appliances across customer sites.
Flagship · MDI AI Detection
MDIX
A distributed, real-time CCTV analytics platform. GPU edge appliances watch cameras on site; a cloud hub aggregates events, runs escalation and manages the fleet.
NVIDIA DeepStream pipeline with batched TensorRT inference and hardware video decode
Detection of people, vehicles, fire, smoke and weapons, with a second model that verifies weapon alerts before anyone is paged
Zero-touch device provisioning, over-the-air updates and fleet health heartbeats
Alarm dispatch into central monitoring stations (IMMIX, Manitou, Stages), email, SMS and WhatsApp with tiered escalation
An offline, GPU-accelerated forensic video workstation for prosecutors and forensic labs. Upload footage, find what matters, and export court-ready evidence.
Person, vehicle and weapon detection plus license plate recognition
Natural-language search over footage using SigLIP 2 embeddings
Video redaction, timeline annotation and chain-of-custody audit logging
Fully offline maps and zero-configuration network discovery on the local network