Technology
The system is built on two abstraction layers, fully decoupled from the processing core: one for image sources (devices), one for analysis capability (AI/CV models). This split lets the system extend to new hardware or new inspection tasks by writing a plugin, not by touching an already-tested core.
Pipeline architecture
An event travels from a physical device to the operator dashboard through six stages. The two middle stages, DeviceProvider and AnalysisEngine, are the only extension points in the system.
Why two abstraction layers exist
DeviceProvider
Fully decouples image/video acquisition from the rest of the system. Adding a new camera brand, a barcode reader, or a POS terminal means writing a new provider against the existing interface, with no changes to the workers, the API, or the UI already running in production.
AnalysisEngine
Decouples inference logic (object counting, pass/fail classification, vision-language checks) from task orchestration. A new inspection task is a new engine plugged into the same interface, and the pipeline stays unchanged.
Inference strategy: edge vs. server
This is a real engineering trade-off with no single correct answer. We shipped server-side inference first because it gives the fastest model-update loop, and we are keeping the door open to edge inference for cases where data policy or bandwidth rules it out.
Server-side inference
Model updates roll out instantly across the whole fleet, no firmware push to individual devices. Easier to monitor and roll back.
Requires stable bandwidth to upload footage, and network latency adds to the processing SLA.
Edge inference (e.g. Axis ACAP)
Not yet implemented. If built, latency would drop and footage would stay on the device, for cases where a customer's data policy forbids sending production footage off-site.
Model updates would be more involved (packaging and pushing per device/vendor), and computation would be constrained by the edge chip.
Device & protocol integration matrix
Integration protocol per device family. Deployment status for each line is noted in the notes column.
| Device family | Integration interface | Notes |
|---|---|---|
| Open-standard IP cameras | ONVIF Profile S · RTSP | Live view, scheduled snapshots, recording and time-ranged clip export. |
| Axis | VAPIX · ONVIF | Device control and stream access tested in an internal POC. No formal partnership with Axis at this stage. |
| Axis - edge AI | ACAP | Running AnalysisEngine directly on the camera via the ACAP platform. Technical direction, not yet built. |
| Hikvision | ISAPI · SDK | Stream integration and device management tested in an internal POC. |
| Edge compute boxes | x86 · NVIDIA Jetson | Local inference for cases where bandwidth or data policy forbids sending footage to a server. |
| Point-of-sale devices | POS · barcode scanner · QR printer | Part of the platform's next phase, targeting point-of-sale goods control. |
126/126 automated test scenarios
Independently verified across 8 test suites, covering everything from per-module unit tests to the full data flow and adversarial input scenarios.
10
Backend unit/integration suites: Models, Engines, Workers, APIs
99
E2E scenarios: full Upload → Process → Storage → Query data flow
27
Stress & adversarial-media tests: corrupted files, blurry QR codes, dropped network connections
Transparent error handling
The system has no silent fallback path and swallows no exceptions at any layer. All business and system errors flow through a dedicated exception hierarchy called SOAIException, so every fault (a DB error, a corrupted file, a blurry QR code, a failed FFmpeg call, a dropped camera connection) surfaces as an explicit, uncaught error instead of being silently absorbed.
Every error returns an RFC-compliant HTTP response with a clear error code, and is logged in detail server-side. In production monitoring, a wrong number nobody knows is wrong is always worse than an error that shows up immediately.
Want to go deeper?
We can walk your technical team directly through the architecture, the test results, or integration feasibility for a specific device.