Flink Hub App · 2026 · Senior Product Designer

Priority, location, and route

Redesigning a restocking list for warehouse workers on Zebra Android devices

Outcome & Impact

  • Missing-item chargebacks dropped by 37%, against a target of 20%

  • Full rollout completed across 150+ warehouses in two weeks

  • OAs reported significantly less time spent deciding what to restock and fewer urgent restock requests mid-shift

The app that runs a warehouse

Flink’s warehouse workers, called OAs (Operational Associates), spend their shifts picking orders, receiving inbound stock, and restocking shelves. The Hub App coordinates all of it on Android Zebra devices, across 150+ warehouses in Germany and the Netherlands.

Restocking is one of the most frequent tasks. Picking empties the shelves, and products have to move from backstock to front stock. The app creates restocking tasks automatically when stock runs low. Demand doesn’t always follow a pattern, though, so an OA can also trigger an urgent restock from the shelf when a product runs out mid-shift. That creates a critical-priority task on the spot.

Over time the queue filled up with items at every priority level, from critical to low. None of that priority was visible in the app.

The original restocking list on Android: one scrolling list of products with stock counts and shelf letters, and no priority indicators or filters

The original restocking list, before priority or filtering was visible.

A long list with no signal

Opening the restocking section showed an OA a single long list. It had no priority indicators and no visual hierarchy, and it couldn’t be filtered or sorted.

Workers relied on experience to decide what to restock first, on top of a job that is already physically demanding. The list confused newer OAs and slowed everyone down.

Poor restocking prioritization was the leading cause of missing-item chargebacks across the warehouse network, and accounted for more than 80% of cases in some hubs.

Urgency is not the only factor

My early assumption was that priority was the main missing piece, until user research changed the picture.

OAs explained that restocking isn’t always an emergency. When shelves aren’t critically low, they prefer to restock by location. One OA put it this way:

“Picking up everything near shelf 22, in a single trip rather than walking back and forth across the warehouse. The priority of an item matters, but so does the route.”

OAs needed to build their own restocking list around what matters right now, whether that is priority, location, category, or a mix of them.

From AI prototype to shipped feature

I started in Figma Make, generating early screen ideas for how priority tags might look and how filters could appear without cluttering the list. That gave me a rough canvas to react to before I invested in refined design. Once I believed in a direction, I moved the work into Figma and refined it there.

Figma Make exploration of the restocking list with priority filter chips and a colored priority tag on each item
Figma Make exploration of the restocking list with a filter icon in the header and a colored priority tag on each item
Figma Make exploration of a bottom sheet with priority filter options and sort options

Early Figma Make exploration of priority tags and filter surfacing.

The solution added priority tags, filters for category and priority, the shelf location on each item, and sorting controls. Workers could now shape the list to whatever their shift needed.

The work produced one new component, a bottom sheet for the filter and sort controls. The app didn’t have one before. It later became the first component validated through the design system pipeline, the Claude Code and Figma MCP workflow described in the Design System case.

Figma critique board with comments on the restocking list, filter sheets, sort sheet, and confirmation dialogs

Walking OAs through the redesign during hub visits and critique.

The designs went through a critique session with the design team. I incorporated the feedback, then visited a few Berlin hubs to walk OAs through the designs and collect their reactions. They responded positively. After that I finalized the complete interaction flow in Figma and handed it off to development.

Figma file marked Ready for dev showing the full restocking filtering flow: list, sort sheet, filter sheets, remove-all confirmation, and a toast

The finalized interaction flow, ready for development handoff.

Animated walkthrough of the restocking flow on Android: shared list, sort, filter, shelf location, filtered list, private list, restocking and finish

Step by step through the finalized flow, from the shared list to finishing a restock.

Clearer lists, faster restocking

We rolled the feature out in stages and tracked key metrics along the way to monitor delivery quality. The full rollout to 150+ warehouses took two weeks.

OAs told us the task had become much clearer:

“Now it’s much clearer which items I need to restock first. I don’t need to ask whoever is doing picking which ones they think are running low.”

“I use the urgent restock button a lot less now. I spend less time wondering if an item is actually out of stock or just fallen to a nearby shelf.”

Missing-item chargebacks caused by restocking prioritization dropped by 37%. A hub manager put it simply:

Slack message from a hub manager: “Missing-item chargebacks in our hub dropped by half since the new feature. Kudos to HubTeam.”