CASE STUDY — B2B SAAS · LOGISTICS

Modernising the logistics industry.

One design system. Three products. One logistics platform built from scratch.

ROLECo-Founder, Head of Product & Design
DURATION6+ years
TEAM1 Designer, 1 Front-end Developer
TOOLS & METHODSShape Up, Figma, React, Storybook

Last-mile delivery runs on speed. The tools behind it should too

Shippr needed a complete digital ecosystem to orchestrate last-mile deliveries across European cities. This meant building a dense dispatch dashboard for operations, a streamlined mobile app for drivers on the road, and an intuitive client portal for partners.

I led the product design from day one, shaping not only these three distinct products but also creating the foundational design system that held them all together.

View of multiple design elements from the Shippr Platform

Three audiences. Three distinct contexts. One reality

The reality of logistics is fragmentation. Dispatchers stare at maps and heavy tracking tables all day, optimizing routes in real-time. Drivers scan packages under the rain, needing crystal-clear instructions with one hand on the wheel. Clients just want their items delivered seamlessly and need instant reassurance.

Each audience has radically different constraints. Yet, underneath the surface, they all manipulate the exact same delivery data. The challenge was designing a system flexible enough to serve all three user bases without feeling like three completely different companies.

Overview mockup of the Shippr customer platform

The Shippr customer platform providing real-time oversight for B2B partners.

Shared foundations to prevent platform split

With three product squads advancing in parallel, the risk of design divergence was high. We needed a common language from the very beginning.

Together with the frontend development team, we established a deeply integrated system library. It started with core typography, spacing tokens, and color scales designed to pass strict accessibility requirements across both bright office screens and dark-mode mobile environments.

Typography system with 'Ready for dev' badges on the right side. A driver drinking a coffee on the left side.

A unified typography and token system shared across the dashboard, client portal, and driver app.

Designers and developers don't adjust. They assemble

We shifted the complexity upstream. Every component was engineered to cover edge cases, states, and exhaustive variants before it ever reached a page design.

By solving interaction models inside the component, we freed up the team's mental bandwidth. When it's time to build a new feature, designers and developers don't waste time nudging pixels or arguing over hover states. They assemble. The system works like a box of Lego: pick the piece, place it, and ship it to production.

Split view showing React component code alongside Figma component variant panels for Base Menu Item and Segmented Button, demonstrating the design-to-code parity of the system

1:1 component parity. What gets prototyped perfectly matches the React components deployed in production.

Split view showing React component code alongside Figma component variant panels for Base Menu Item and Segmented Button, demonstrating the design-to-code parity of the system

Inputs fields system demo

Where I learned to build a product from nothing

Shippr was a 0-to-1 story. No existing product, no existing team, no existing system. Over six years, the platform grew to serve international markets (Brussels, Paris, London) and the design system became the backbone that made that scale possible.

Overview of the courrier app

Overview of the courrier app

Keywords

Product Leadership
Logistics
B2B SaaS
0-to-1
Design System
React
Storybook
Mobile App
User Research
Journey Mapping
Cross-platform
Component Library

Let's talk

Your next product deserves better than a template