Skip to content

Product Design · 2019

From WhatsApp threads to one live dashboard: how I gave UVA's dispatchers a single place to run every delivery.

Company
UVA, food delivery in Puerto Rico
Timeline
Started in 2018, finished in 2019
My role
Sole product designer (freelance side project)
Team
1 product manager, 1 engineer
Platform
Web · iOS · Android
UVA's dispatch dashboard showing live orders as cards, with status and minutes elapsed on each.

What this project shows

  1. 01

    Turning a messy real-time workflow into one clear tool

  2. 02

    Changing course after testing with real dispatchers

  3. 03

    Honest outcomes: what I'd measure, not invented numbers

Overview

UVA is a food delivery service in Puerto Rico. Its dispatchers coordinate restaurants, drivers, and customers in real time.

I designed two connected products: a web dashboard that gives dispatchers full control of every live order, and a mobile app for the drivers who deliver them.

Challenge

UVA's existing platform didn't fit how dispatchers worked, so coordination moved to WhatsApp.

Dispatchers couldn't see order status, driver location, and availability in one place. Problems arrived in chat, disconnected from the orders they affected.

The goal: give dispatchers full control of every live order, in one place.

My role

I started UVA as a freelance project before joining Wovenware, and I finished it after I joined. I was the only designer, working with one product manager and one engineer. I designed both the dispatch dashboard and the driver app. I owned lifecycle mapping, information architecture, wireframes, usability testing, UI, and specs.

  1. I mapped the full delivery, from order placed to delivered, to find where dispatchers act and where things break.
  2. I tested wireframes with 3 dispatchers before moving to visual design.
  3. I designed and handed off build-ready specs to our engineer.

Key decisions

Decision 01

Rebuild driver assignment after testing

Assigning drivers is the task dispatchers repeat most. Testing showed that my first design was slow and frustrating.

I replaced it with a searchable dropdown on each order, so dispatchers assign in seconds. Each driver shows their distance from the restaurant, and available drivers stay visible in the sidebar.

Order #201 detail view with the Assign driver dropdown open: a driver search and a list of drivers, each with their distance.
Each driver shows their distance, so dispatchers can pick the closest one.

Decision 02

Three views of the same orders

Cards for triage, Map for locations, and Table for scanning volume. Each view answers a different question, without crowding one screen.

The same orders shown as cards, on a map, and in a table.
Cards for triage, Map for locations, Table for scanning volume, each with the same driver dropdown.

Decision 03

Status and time come first

Every order leads with its number, status, and minutes elapsed. A Late filter pulls at-risk orders to the top, and "Dispatched by me" shows each dispatcher their own orders.

Order cards with status and minutes elapsed, under All, Late, and Dispatched by me filters.
The Late filter pulls at-risk orders to the top.

Decision 04

Messages live with the order

Each order has its own thread. When a driver reports a problem, the dispatcher sees it in context, not in WhatsApp. From the same order, dispatchers can also call the driver, the restaurant, or the client.

An order detail panel with its message thread beside it.
Each order has its own thread, with quick call and chat on every contact.

Outcome

The dashboard and the driver app were both built from my designs. I don't have post-launch data.

To measure success, I'd track three things:

  • Time to assign a driver
  • Share of orders that run late
  • Messages still sent outside the dashboard

Reflection

My first take on driver assignment looked right but felt slow in use. Three dispatchers caught what I couldn't see alone.

Next time, I'd set success metrics with the PM before handoff.

Next projects

See all work
Prism's Analytics dashboard in two brand themes, one light and one dark, built from the same components.

Prism

AI-ready: my system, audited and extended with Claude

Design Systems · 2026