Skip to content
CompanyPrivate enterprise system

Unilever Fleet Flow

Real-Time Truck & Loading Bay Monitoring System

On-premise, full-stack platform that turns QR camera scans into a live view of every truck at a warehouse's loading bays — dwell times, lost time, shift KPIs, supervisor tracking and a 3D digital twin.

This is a client system deployed privately, so there is no public demo. Happy to walk through it in a call.

My role
Full-Stack Engineer — Backend, Frontend, Database & Deployment
Company
Syntax Genie
Domain
Logistics & Warehouse Operations
Year
2026

01Overview

Unilever Fleet Flow monitors lorries and vans at ten warehouse loading bays. Existing camera software scans each vehicle's QR code at the bay; Fleet Flow matches every scan to a registered vehicle and works out, in real time, which truck is on which bay, how long it has been there against the expected time for its vehicle type, and how much time each bay sits idle.

Operations teams use a live dashboard, per-station views, full-screen dock displays at each bay and exportable shift reports, while supervisors claim and release stations so their time on the floor is recorded. The system runs on-premise on the client's network as an installable web app, with a NestJS API, a MySQL database and a Next.js frontend.

02My contributions

  1. 01

    Built the NestJS 11 backend end to end — 13 feature modules and 81 REST endpoints under a versioned /api/v1, with Prisma on MySQL, Swagger/OpenAPI docs, request-ID logging, a global exception filter and environment validation.

  2. 02

    Designed the data model (users, roles, vehicles, stations, expected durations per vehicle type, supervisor sessions, audit log, site settings, refresh tokens) and the live-data logic that derives bay occupancy, visit duration, overstay status and idle time from the camera scan tables without ever writing to them.

  3. 03

    Implemented real-time updates with Socket.IO — a background watcher pushes bay changes to dashboard, station and dock-screen rooms, wired to RTK Query cache-tag invalidation so every screen stays in sync and elapsed time is driven by the server.

  4. 04

    Built the Next.js 16 / React 19 frontend: live dashboard, station Gantt and visit timelines, vehicle registry with QR sticker generation, notifications with overstay alerts, settings, light/dark theming and an installable PWA in Unilever's brand colours.

  5. 05

    Implemented security and onboarding: JWT access and refresh tokens, database-driven roles with a 15-permission tree and permission-filtered navigation, hashed one-time invite links instead of temporary passwords, password reset with backend rate limits, user status blocking, Helmet, a CORS allowlist and API throttling.

  6. 06

    Built the supervisor workflow — claim, release and revert a station, with supervisor duration on the dashboard and a supervisor history report.

  7. 07

    Delivered five report types (vehicle registry, visit history, station lost time, daily shift summary, supervisor history) with preview and export to PDF, Excel and CSV using PDFKit and ExcelJS.

  8. 08

    Created a 3D digital twin with three.js / React Three Fiber — an interactive loading-bay view driven by live API data and a whole-site overview with animated trucks, optimised for smooth rendering.

  9. 09

    Handled production delivery on the client PC: safe live-database setup scripts that leave camera data untouched, LAN access with a friendly hostname, and the API running 24/7 as a Windows service, plus written setup and technical documentation.

03Architecture highlights

Modular NestJS API with versioned routes and OpenAPI docs
Read-only integration with external camera scan tables
Socket.IO push with RTK Query cache invalidation
Database-driven roles with a permission dependency tree
Shift-aware time calculations (day / night, local timezone)
On-premise deployment as a 24/7 Windows service

04Key features

  • Live loading-bay board for 10 stations
  • Vehicle dwell time vs expected time (on time / warning / overdue)
  • Station lost-time and idle-period breakdown
  • Current-shift dashboard with vehicle-type averages
  • Full-screen dock displays at each bay with auto-rotating slides
  • Vehicle registry with QR sticker generation
  • Supervisor station claim / release with history
  • Overstay and arrival notifications
  • Five reports exported to PDF, Excel and CSV
  • User invites, password reset and profile photos
  • Custom roles and per-permission access control
  • 3D loading-bay digital twin and site overview
  • Installable PWA with light and dark themes

05Tech stack

Frontend

Next.js 16React 19TypeScriptRedux ToolkitRTK QueryTailwind CSS v4shadcn/uiRechartsMotionReact Hook FormZod

Backend & Data

NestJS 11PrismaMySQL 8REST API (81 endpoints)Swagger / OpenAPINodemailer

Real-time & 3D

Socket.IOthree.jsReact Three FiberDreiPWA / Service Worker

Security & Reporting

JWT + Refresh TokensDynamic RBACHelmetRate LimitingPDFKitExcelJSQR Codes

Deployment

On-premise WindowsWindows Service (NSSM)LAN Hosting