Skip to content
Anas Chaabane
Back to work
05Freelance · Logistics, France

PaletteFlow

Pallet tracking and delivery for a French logistics company

Role
Frontend Developer
Period
2025
Stack
React · TypeScript +6

Pallets move between retailers, and every move leaves someone owing pallets to someone else. I built the front end of PaletteFlow as a freelance project for a French logistics company. It replaces manual tracking with three role-based apps.

01The problem

The same mission means something different to each role. The retailer needs a status and a pallet balance. The driver in the field needs the next stop. The admin needs a queue to assign and reconcile. Each app had to show its user only what they need.

02The apps

All three share one component library and design tokens built on Radix primitives, so the apps look and behave consistently.

  • Retailer app: track missions, manage owed and owned pallets, report issues
  • Driver app: view missions, scan pallet QR codes, record deliveries, update statuses and handle issues
  • Admin dashboard: users and roles, mission creation and assignment, issue resolution and pallet reconciliation

03What I delivered

I built all three front ends, working against the backend team's REST APIs.

  • Live push notifications keeping retailers, drivers and admins in sync
  • i18n in 6 European languages across all three apps
  • QR-code pallet scanning in the driver app
  • Advanced role management, with screens and actions scoped to each user's permissions
  • Complex custom components, such as a searchable multi-select dropdown that queries the database as you type
Outcome
  • Centralized pallet and mission management across retailers, drivers and admins
  • Less manual reconciliation and a faster issue-resolution workflow
  • Better operational visibility for retailers and drivers