The engineering problem
Built inside the AUC autonomous-driving research group as the data-acquisition backbone for the EUPB pedestrian dataset and downstream PyTorch pipelines.
Urban-sensing research needed synchronized stereo, depth, GPS and IMU capture from moving vehicles and static sites, with live control, event annotation, and traceable sessions. A bare SDK script gives you none of that: no live preview, no metadata schema, no access control, and no way to manage sessions in the field.
Approach & contribution
Backend: FastAPI with a Clean Architecture split (API, service, repository layers) across 15+ async services, over a 14-table SQLite schema with nine incremental migrations.
Frontend: a single-page React/TypeScript app served from the same port as the API by a Nuitka-compiled binary, shipped with an installer that detects the ZED SDK and configures itself on first launch.
Real-time WebSocket layer at ~30 Hz: UUID client management, type-routed message handlers, subscription-based frame broadcasting, and heartbeat monitoring.
Security: JWT sessions with four permission tiers, and RSA-2048 hardware-locked licensing tied to a SHA-256 machine fingerprint.
Hardware: NVIDIA Jetson Xavier integrated with ZED 2 stereo cameras over GPIO and a custom PCB control panel.
Results & boundaries
30 Hz platform operation and 50+ hours of recordings captured.
Supports EUPB collection at 15 Hz; research papers are in preparation, with no public publication link supplied.
Content basis: MAZEN_CONTEXT v1.3, 9 October 2026