Skip to content
KD
IoT platform · real-time backendGlide Technology · Associate Software Engineer · Jul 2025 — Present

Project Pink

Real-time indoor tracking & vision AI analytics

Node.js services that register, track and stream every device on the floor in real time, with a vision AI pipeline feeding live analytics.

Floor 01 · simulated positions
UWB · TDOA positioningtop-down
Vision AI · YOLO + ByteTrackcam-02

Entrance

0

Display A

0

Display B

0

Checkout

0

In frame

0

Avg dwell

0.0s

The system

A real-time location and vision analytics platform: UWB devices are positioned with TDOA, camera feeds run through a vision AI pipeline, and everything streams into interactive 2D/3D dashboards.

Backend & cloud

  • Node.js REST APIs: device registration, lifecycle, position processing, persistence
  • MQTT/Mosquitto ingestion and device messaging
  • Socket.IO event broadcast of positions, alerts and analytics
  • aiortc/WebRTC video transport into Python services; Dockerised components

AI / ML inside

  • YOLO (Ultralytics) customer detection
  • ByteTrack multi-object tracking
  • OpenCV real-time frame processing
  • NumPy analytics: dwell time, zone occupancy, movement patterns
  • DeepFace proposed for facial attribute & expression analysis

Architecture

  1. UWB anchors & tags · indoor radio

    Ultra-wideband anchors and tags provide the raw ranging signal for indoor positioning.

  2. TDOA processing · time-difference positions

    Time-difference-of-arrival processing converts ranging data into device coordinates.

  3. MQTT · Mosquitto · IoT messaging

    Real-time device messaging, ingestion and communication.

  4. IP cameras · RTSP / HTTP

    Camera feeds ingested over RTSP/HTTP.

  5. WebRTC · aiortc · low-latency video

    aiortc carries low-latency video between cameras and Python processing services.

  6. Vision AI · YOLO · ByteTrack · OpenCV

    Detection, multi-object tracking and frame processing; NumPy analytics compute dwell, occupancy and movement patterns. DeepFace proposed for attributes.

  7. Node.js services · REST · lifecycle · positions

    Device registration and lifecycle, position processing, AI result integration and persistence.

  8. Socket.IO · event broadcast

    Pushes positions, registrations, alerts and AI analytics to every connected client.

  9. Dashboards · Konva · Three.js · Chart.js

    Live 2D/3D tracking views and analytics: counts, heatmaps, area popularity.

Project Pink architecture

What I built

  1. 01Developed Node.js services and REST APIs for device registration, lifecycle management, position processing and persistence.
  2. 02Integrated MQTT with Mosquitto for real-time IoT messaging, ingestion and device communication.
  3. 03Broadcast positions, registration updates, alerts and AI analytics to clients with Socket.IO.
  4. 04Integrated UWB positioning and TDOA processing into live 2D/3D dashboards with Konva.js and Three.js.
  5. 05Designed a Python vision AI pipeline with YOLO, ByteTrack and OpenCV; proposed DeepFace with NumPy-based behavioural analytics.
  6. 06Streamed IP camera feeds over RTSP/HTTP and WebRTC (aiortc) into the Python processing services.
  7. 07Built React + Chart.js dashboards for customer counts, demographic estimates, expressions, area popularity and traffic heatmaps.

Engineering decisions

Raw positions are jittery and arrive constantly.

→ A position-processing service on Node.js normalises UWB/TDOA updates before Socket.IO fans them out, so dashboards animate smoothly.

Detections aren't insights.

→ ByteTrack gives detections a persistent identity; NumPy analytics turn identities over time into dwell, occupancy and movement patterns.

Video is heavy, dashboards must stay live.

→ aiortc WebRTC streaming feeds Python vision services; only compact analytics events travel back through Node.js.

  • Node.js
  • React.js
  • Python
  • YOLO
  • ByteTrack
  • OpenCV
  • NumPy
  • DeepFace
  • MQTT
  • Mosquitto
  • Socket.IO
  • WebRTC
  • aiortc
  • Three.js
  • Konva.js
  • Chart.js
  • UWB · TDOA
  • Docker