Refining BlueBox for Reliability, Usability, and Scalability
Project impact
Reduced false drop-offs by ~50% and support inquiries by ~35%,
Reduced false drop-offs by ~50% and support inquiries by ~35%, while giving building staff on-site control that reduced management support requests by ~30%.
Metrics are rounded and shared at a high level to respect confidentiality.
Overview
BlueBox is a smart locker system operating across 300+ residential buildings in Metro Vancouver, supporting over 5,000 daily deliveries.
As the system scaled, reliability gaps and fragmented interactions across digital and physical touchpoints introduced user friction and operational overhead.
This project focused on strengthening reliability, reducing delivery and pickup friction, and designing for usability at scale across buildings, user types, and on-site operations.
Team
1 UX Designer, 2 Developers, 1 QA Engineer
Duration
4 months
Customer support insights
Customer support insights across the system
Reviewing customer support inquiries revealed recurring patterns that pointed to system-level reliability gaps rather than isolated interface issues.
30+%
Empty drop offs causing false pickup experiences
10+%
Inconsistent interface patterns creating user friction
10+%
Lack of on site control for building management
I got a text that my package was delivered, but the compartment was empty. What’s going on?
The design is messy and nothing works like you’d expect, just totally not worth the hassle.
I’d like to unlock the compartments at the locker without using the physical keys provided.
Issue 1. Preventing
Issue 1. Preventing false drop offs
The most frequent support issue occurred when deliveries were marked as complete even though no parcel was deposited.
Locker Interface
Root cause and flow breakdown
A missing confirmation step allowed couriers to close a compartment without depositing a parcel, while the system still recorded the delivery as complete.
The flow below illustrates how a simple size mismatch could cascade into a false pickup experience for residents.

Courier
Selects the wrong compartment size while depositing
The compartment opens, but the parcel doesn’t fit
Closes the compartment without depositing
The user receives a false pickup notification
The user opens the compartment and finds it empty
The user contacts customer support to report the issue
Resident

Impact
This issue alone generated 3+ support inquiries per day, creating avoidable operational overhead and eroding user trust.
Enhancing feedback
Enhancing feedback and confirmation
To address the missing confirmation step in the deposit flow, we introduced a clear verification moment before a delivery could be marked as complete.
ERROR PREVENTION
Confirming intent before completion
Before completing a deposit, couriers are prompted to confirm that a parcel has been placed inside the compartment. This confirmation prevents empty compartments from being recorded as successful deliveries and reduces false pickup notifications for residents.
A confirmation step ensures that a parcel has been placed before the delivery is marked as complete.
outcome
This change reduced false drop-offs by ~50% and decreased related support inquiries by ~35%.
Issue 2. Reducing
Issue 2. Reducing friction caused by inconsistent design
As the product evolved, inconsistent layouts and interaction patterns made key tasks harder to complete and increased reliance on customer support.
App EXPERIENCE
Identifying key breakdowns
These breakdowns reflected systemic issues in layout consistency, form structure, and interaction logic. While they appeared in different parts of the app, both disrupted task completion and increased reliance on support, revealing deeper gaps in the product’s interaction foundation.
Low unit registration completion rate
Inconsistent layouts and form logic led to user errors
The unit registration flow was difficult to complete
Low support resolution efficiency due to back-and-forth clarification
Missing fields or unclear labelling caused incomplete or incorrect submissions
The in-app support ticket form was hard to navigate and fill out
Impact
These inconsistencies led to lower task completion, increased back-and-forth with support, and higher operational overhead for both users and support teams.
Restoring consistency
Restoring consistency across the product
To reduce friction caused by fragmented interfaces, we focused on establishing a consistent visual and interaction language across the app. This helped users complete key tasks with greater confidence while reducing errors and unnecessary support interactions.
Design system
Building shared foundations for consistency
To address systemic inconsistency across the app, we established a shared design system to unify visual hierarchy, components, and interaction patterns.
A shared component and interaction language reduced inconsistency across forms, states, and navigation.
Flow design
Simplifying key user flows
With a unified system in place, we simplified key flows by removing unnecessary steps, clarifying hierarchy, and consolidating related actions.
Unit registration · Reducing errors through structural clarity
This update focused on improving completion by simplifying structure and reducing common input errors during registration.
Redesigned the unit registration flow to increase successful registrations and reduce deposit problems that often came from incorrect or missing phone numbers.
Support experience · Consolidating access and decision paths
Unlike unit registration, the support experience required deeper changes to navigation and decision-making to reduce friction and support overhead.
Design Rationale
Action cards direct users to choose their desired support channel
Unfolded unnecessary levels of navigation by consolidating content into a single view
Introduced the Support Center into the app’s primary navigation
By restoring consistency across core flows, these changes reduced user errors, improved task completion, and lowered friction in both registration and support experiences.
Issue 3. Enabling
Issue 3. Enabling on site management control
As the system expanded, building staff lacked a clear operational path to resolve locker issues independently, creating delays and added reliance on support.
Locker interface
Introducing an operational control layer
Visualizing the ecosystem revealed a gap in on-site control for building management. Unlike couriers and residents, staff require direct access to manage lockers in real time, introducing a new operational layer with distinct permissions and constraints.
Operational roles and access boundaries
Administrative Level
Disable compartments to repurpose them as internal storage
Unlock compartments individually or all at once
Control multiple locker sets at once with a single unlock action

Building Management
Deliver packages
Retrieve packages

Courier

Resident
Operational Level
Introducing on-site management control
Introducing on-site
To support on-site operations as the system scaled, we introduced staff-level access that enabled building management to resolve issues directly at the locker without relying on physical keys or remote support
Access control
Providing secure on-site actions at the locker
We introduced a secure staff login and on-site control panel at the locker interface, allowing building managers to perform essential actions directly on location. This reduced reliance on physical keys and remote support while preserving clear access boundaries and system security.
Staff login and on-site control tools give building managers flexible, secure ways to manage lockers efficiently.
outcome
The on-site control panel reduced management support requests by ~30% and improved issue turnaround during daily operations.
Beyond design
Beyond design and into real world constraints
Even after improving the experience, some user frustration was driven by factors beyond interface design, reinforcing that reliability depends on the full product system, not just the UI.
When design improvements weren’t enough
In this case, ongoing system-level reliability issues outside the design scope continued to shape user perception of the app, particularly in areas such as account verification and authentication.

I couldn’t get the verification code when signing up, and when I finally did, the app still wouldn’t let me log in.
A moment of reflection
This project reinforced that designing for reliability extends beyond interface improvements. Strong UX outcomes depend on alignment across people, processes, and technology.
While some system-level issues remained outside my control, the work meaningfully reduced user friction and operational overhead in the areas where design had the greatest impact.











