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

01

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.

02

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.

03

Real-time WebSocket layer at ~30 Hz: UUID client management, type-routed message handlers, subscription-based frame broadcasting, and heartbeat monitoring.

04

Security: JWT sessions with four permission tiers, and RSA-2048 hardware-locked licensing tied to a SHA-256 machine fingerprint.

05

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