Simplifying route planning and delivery navigation for admins and drivers with a delivery management platform

Simplifying route planning and delivery navigation for admins and drivers with a delivery management platform

Timeline

Timeline

Sep - Apr 2026

Sep - Apr 2026

8 months

8 months

Skills

Skills

UI Design, Prototyping, Illustrations, Design Systems, Usability Testing, Dev Handoff

UI Design, Prototyping, Illustrations, Design Systems, Usability Testing, Dev Handoff

Team

Team

2 Product Managers

2 Product Managers

3 Product Designers

3 Product Designers

8 Software Developers

8 Software Developers

Context

Food4Kids delivers nutritious food packages to 1,400+ children in Waterloo Region

Through UW Blueprint, a student-led team that builds tech for non-profits at no cost, we partnered with Food4Kids to design a platform that streamlines their delivery operations.


Throughout the project, we got the chance to visit their office and speak directly with admins and volunteers, gaining first-hand insight into their workflows and challenges.

Problem

Planning delivery routes is a manual, time-intensive process

Imagine looking through 100s of rows of spreadsheets of addresses in order to create routes for drivers. Then, having to print out each route and give to drivers for user on delivery day.


This process was slow, repetitive, and difficult to update as delivery needs changed.

Solution

A platform for admins to generate, edit, and assign delivery routes

This would help staff spend less time managing spreadsheets and making delivery routes. Drivers could then access routes directly on their phones or print them as needed.

1 // Discovery

Who are we designing for?

For this project, we had two main users, admins and delivery drivers. Through client meetings, we spoke directly with Emily, an admin at Food4Kids to better understand her workflow, pain points and goals, and created personas for both of our users. Meet them below!

Meet Emily

Admin @ Food4Kids WR

Pain Points:

  • Overwhelmed by tedious tasks like planning routes & assigning drivers

  • Potential errors in data since everything is done by hand


Goals:

  • Plan efficient delivery routes & assign them to the correct drivers

  • Ensure drivers can access clear, detailed route schedules whenever

Meet Eric

Volunteer Delivery Driver @ Food4Kids WR

Pain Points:

  • Unexpected changes in planned route

  • Difficulty accessing key delivery details while on the move

  • Less tech-savvy


Goals:

  • Be notified of any updates or last minute changes to route

  • Access & understand route information with ease, regardless of technical comfort level

Key Takeways

Designing around the admin's existing workflow

Admins were already working within spreadsheet-heavy systems, so instead of introducing a new process, we designed a platform to fit into their current spreadsheet workflow.

Accounting for human error

Small inconsistencies in large spreadsheet data could have significant impacts on route generation and delivery accuracy.

Designing for users with varying levels of technical comfort

As many of the drivers were older and less comfortable with technology, we had to prioritize clarity and accessibility in our designs.

2 // Define

Let's flow into Emily's shoes…

User flow time! Keeping our admin's goals in mind, we translated her needs into a route generation flow to understand how she would actually move through the system.

Goal

As an admin, I would like to generate accurate, error-free delivery routes from updated family data so I can reduce manual work and ensure consistent, reliable routes each week.

Key Decisions

Emily's spreadsheet will always be the source of truth

Once she uploads data from her spreadsheet, she will be guided back to it to make updates, ensuring all changes stay centralized & consistent.

Shared route details can be edited all at once

Timing, start location, and other shared settings can be updated to all routes for a given day from here, reducing previously manual work.

Driver assignment happens after route generation

Since only high-level route details are available in this flow, there is not enough context to assign drivers. Assignment happens later for each individual route.

Turning ambiguity into product requirements

Working with the PMs, we began by structuring the route generation process into a 5-step wizard to guide admins from uploading data to generating optimizing routes.


The most critical challenges emerged in the validation flow.

1

1

Import

Import

2

2

Validate

Validate

3

3

Review

Review

4

4

Configure

Configure

5

5

Generate

Generate

Data Validation — Guiding Question

How do we help Emily identify errors in her data while keeping her spreadsheet as the source of truth?

  • Emily’s spreadsheet was the primary place where delivery data from forms was collected and managed

  • Rather than allowing edits directly within our platform, we designed the system to clearly flag issues and guide admins back to their spreadsheet for corrections.

Handling different error states

Initially, we decided to separate data issues into critical errors and warnings:

  • Critical errors prevented users from continuing when required data was missing or invalid (e.g. missing addresses that prevent route generation)

  • Warnings flagged potential issues such as duplicate entries that did not require immediate action

This approach was later revisited as we recognized that warnings could easily be overlooked in a fast, spreadsheet-heavy workflow, highlighting the need to better support human error.

3 // Design and Iteration

Designing for clear data validation

Within the route generation flow, I designed a stepper to guide users through each stage of the process.


Focusing on validation, key design decisions included:

  • Colour to distinguish severity (red for critical errors that must be fixed, yellow for optional warnings)

  • Displaying next steps through banners to help users quickly understand what required attention

  • Highlighting specific cells within tables, with inline alerts to clearly indicate exactly where issues occurred

Initial Design (Lo-Fi)

Client feedback sessions with Emily revealed a key issue…

With 100s of rows in the spreadsheet, Emily shared her concerns that warnings felt easy to overlook, and missing them could result in a child not receiving their package.


So we needed to return to the key design principle of accounting for human error.

Iterated Design (Hi-Fi)

Key Design Changes

All errors require action before continuing

I removed the distinction between warnings and critical errors to ensure no issues were accidentally missed during route generation.

Improved clarity of duplicate entries in large datasets

I grouped related duplicate entries together so admins could easily see which records were connected and decide how to handle them as a set.

Responsive design

Since Emily works with 100s of rows, I designed the tables to handle large datasets by adding scrolling states and sticky columns for easier review at any scale.

5-Step Route Generation Flow (Final Design)

  1. Import

Admin uploads their spreadsheet and maps its columns to ensure data is correctly matched to the system.

  1. Validate

The system checks admin's spreadsheet for errors, and requires all errors to be fixed locally in the spreadsheet before continuing.

  1. Review Changes

Acts as a deliberate friction point to encourage users to review important changes, such as removed or partially updated data, ensuring they weren't done accidentally.

  1. Configure Routes

Admins set their shared route details such as timing and starting locations.

  1. Generate Routes

Admins see their optimized delivery routes as well as detailed statistics.

Reflections

Designing with human error in mind

I learned the importance of design focused on preventing errors rather than relying on users to catch them, introducing deliberate friction to help flag and avoid potential mistakes.

Developer handoffs

By presenting my work to developers, I learned the importance of defending my decisions and also gained valuable feedback on handling edge cases and responsiveness to ensure designs were implementation ready.

Creating a design system

Since I was working with 2 other designers, we regularly synced on design guidelines and documented a comprehensive design system to ensure consistency across our work.

// Extras

Delivery Navigation App for Drivers

Alongside the admin platform, we designed a driver app for viewing delivery details and sharing announcements. Here, I worked on designing the homepage, announcements board, and custom illustrations! Feel free to reach out if you’d like to learn more about the design process behind this :)