Designing calm into a chaotic logistics workflow.
Dhaval agarwal
UI Design

Overview
ryswift is a logistics dashboard for managing shipments, drivers, and fleets in one place. It is built for operations teams who need to see the status of every delivery at a glance and take action without switching between tools.
The product covers the full operational loop — assigning a shipment to a driver, tracking it along the route, surfacing exceptions when something goes wrong, and closing the job out with the right paperwork. Each of these used to happen in a separate place. Here they share a single interface. The logo, a simple package mark, is built on a proportional grid so it scales cleanly from a 16-pixel favicon to an app icon, with three variants that cover every production surface.


The problem
The project started from a single question: what if shipments, drivers, and fleets could be tracked, assigned, and optimized from one place? Most logistics teams already have the data.

Each shipment is shown as a timeline of stops, from pickup to delivery. Every stage has a timestamp, a location, and a clear status, so users can answer "where is this package right now?" without opening another screen. The same timeline pattern is reused across the product — a driver's day, a vehicle's history, a customer's account — so learning it once means it works everywhere. Driver contact cards sit next to every active shipment, surfacing the two most common actions (call and message) as primary buttons.


The work was framed around two structural problems and two matching solutions. Each solution is a system, not a feature — the goal was to fix the way information moves, not just to add new screens on top of the old ones.

Process and users
The work moved through three phases —

Two personas guided the design: a fleet operations manager and a logistics coordinator. They share the product but use it differently. The manager works in days and weeks, leaning on summary metrics and trends. The coordinator works in minutes, leaning on the live exception queue. Both views are built from the same components — only the priority changes. Status cards always show a single number with context: how it compares to last week, whether it is trending in the right direction, and when it was last updated.

Principles
Three principles shaped the interface. They are not new ideas, but they are easy to forget when a product is growing quickly, so they stayed visible as constraints throughout the project.

Underneath the product, every record is either a person or a vehicle. Shipments, routes, and exceptions are relationships between the two. Keeping the data model small makes the interface easier to learn — every screen is a different view of the same two things. Status states are bounded too: a person is on duty, available, on-route, or offline. A vehicle is in use, idle, or under maintenance.

The product
The navigation covers seven top-level areas: dashboard, shipments, drivers and fleet, customers, billing and invoice, support, and account. Most users spend their day in the first three. From the homepage, every primary task is reachable within two clicks. Deeper paths — like creating an invoice from a customer's shipment history — are linear, not branching.

Type is set in Geist across four weights. The palette is intentionally small: purple for action and brand, gray for secondary text, ink for primary text, and yellow for positive change. Color carries meaning in the product — purple signals something the user can act on, yellow signals something improving.

Three screens form the core of the product. The dashboard is the overview, with key metrics, live tracking, and performance trends — the first screen most users open in the morning. The shipment tracking view is the map, used when a single shipment needs attention. The driver overview handles availability, current assignment, and recent history, used when assigning a job or following up on performance. Across all three, the same rules hold: status colors mean the same thing everywhere, timelines read in a consistent direction, and primary actions sit in the same place on every card.

