Skip to content
← All work

PackBack Ops for iOS · PackBack Network

The app for the people who empty the bins.

A native iOS app for the crew that keeps the reuse system running: restocking dispensers, emptying SmartBins, fixing machines and installing new locations. It works in basements with no signal.

Role
Product Lead, lead designer
Company
PackBack Network
Timeline
Mar to Aug 2026
Team
1 product designer, 2 iOS engineers, 1 back-end engineer, field crew lead
Platforms
iOS, iPadOS, Push notifications

1Stops in driving order, each with its tasks

2Machine faults arrive with their history attached

3Scanning a crate logs it, no typing in the van

9 → 13

Stops per route per day

−44%

Average machine downtime

0

Paper forms left in the vans

2 days → 4 h

To install and hand over a new location

The problem

PackBack's field crew ran their day on WhatsApp groups, a shared spreadsheet and paper install forms. Faults were found by store staff, crates went missing, and nobody knew which machine needed what until someone was standing in front of it.

What I did

I rode along on eight routes, mapped the crew's work as a service blueprint, and designed a native iOS app around the route, the machine and the crate, and made offline the normal state.

What changed

Crews now complete 13 stops a day instead of 9. Average machine downtime fell by 44% because faults arrive with their history, and the last paper form left the vans in August.

01 · Context

The reuse system is only as good as the person restocking it.

Every PackBack location needs physical work to keep running. Clean cups have to arrive before the dispensers run out, full SmartBins have to be emptied, crates of used cups go to the washing partner, and machines occasionally jam or lose their connection.

In early 2026 a crew of eleven did this across the Randstad, plus store staff who restock dispensers between deliveries. The crew is the most important user group PackBack has that never appears in a sales deck.

1Morning briefing
2Drive to stop
3At the machine
4Load the van
5End of day
Feeling
What they do
Read WhatsApp, check the spreadsheet
Navigate, call the store ahead
Restock, empty, fix if needed
Count crates, write on paper
Type notes into the spreadsheet
What hurts
Priorities change by 9am
Store isn't expecting them
No history of the fault
Counts don't match the wash partner
45 minutes of admin from memory
Tools
WhatsApp, Google Sheets
Google Maps, phone
Torch, screwdriver, memory
Paper form, pen
Laptop at home
Fig. 1A field crew member's day before the app, from eight ride-alongs.

02 · Problem

Work that happened in WhatsApp, on paper and from memory.

Nothing in the crew's day was connected to PackPulse. When a machine went offline, the information reached the crew through three people and a WhatsApp message, with no details about what had happened. Crates were counted on paper and typed up in the evening, so the numbers rarely matched what the washing partner received.

It also didn't scale. PackBack planned to add 40 locations in 2026, including the first ones outside the Netherlands. Hiring more crew would only make the WhatsApp groups louder.

  1. Insight↓

    PackPulse spots a fault or a low dispenser

    PackPulse

  2. Task↓

    Becomes a stop on a route, with context

    Ops lead

  3. Visit↓

    Crew fixes, restocks or empties

    Field crew

  4. Log↓

    Scans, photos and notes, offline first

    Ops app

  5. Close↺ back to 01

    Machine back online, PackPulse updated

    PackPulse

Fig. 2The loop we wanted: every finding in PackPulse ends as a task, and every task ends as data.

The question we worked on

How might we give the crew everything they need at each stop, even in a basement, and make the paperwork disappear as a side effect of doing the job?

03 · Research

Eight days in the van.

I rode along on eight full routes, timed every stop, photographed every form and sat in on two morning briefings. I also interviewed six store managers about what they expect from the crew.

Insight 1

Crews plan their day in driving order

Crews think in stops and driving time. A task list sorted by priority was useless if it sent them across Rotterdam twice.

“Tell me where to go next, not what's most important in the whole country.”

JordyField crew member, 2 years at PackBack
Insight 2

Basements have no signal

Five of the eight routes included at least one stop with no mobile signal: station basements, campus kitchens, a stadium plant room.

“Every time I go down there I lose whatever I typed.”

IliasField crew member
Insight 3

Scanning beats typing every time

Every crate and every cup already has a QR code. People were writing the crate numbers on paper anyway.

“The crate has a code. Why am I writing 0412 on a form?”

SanneField crew lead
Before the app With the appLower is better
Admin per stop
7.5 min
1.2 min(-84%)
Time looking for the fault
11 min
3 min(-73%)
Driving between stops
24 min
19 min(-21%)
Fig. 3Average minutes per stop, measured on ride-alongs in February and again in July.

04 · Process

Native iOS, designed in the van.

We chose native iOS early. The crew already used company iPhones, we needed reliable camera scanning in bad light, and offline storage had to be solid. I designed with Apple's own patterns wherever possible, so the app felt familiar from the first day and the two iOS engineers could move fast.

Week 048121620
Ride-alongs, blueprint
Route and machine screens
Offline model
TestFlight, 3 crew
Install flow
Store staff mode
Whole crew
◆ First TestFlight◆ Whole crew◆ Last paper form
Fig. 4March to August 2026. Crew members tested every build on their real routes.
Option ARejected

Web app in the browser

Fastest to build, but offline storage and camera scanning were unreliable on the crew's phones.

Option BTested

Task list by priority

Matched how the ops lead thought. Crews ignored the order and re-planned in Google Maps.

Option CChosen

Native app built around the route

The day as an ordered route, each stop with its tasks and machine history, all available offline.

Fig. 5The three structures we tried in the first six weeks.

05 · Design decisions

Route, machine, crate.

The day as a route

The Today screen shows the day's stops in driving order, each with its tasks as small chips: restock two crates, empty bin, fix jam. The ops lead can add an urgent stop, and the app inserts it where it costs the least driving instead of at the top.

  1. 01PackPulse flags a faultSmartBin RC-02 offline
  2. 02Ops lead adds a stopOr it's added automatically
  3. 03Route recalculatedInserted between stops 4 and 5
  4. 04Crew gets a pushWith fault history attached
  5. 05Fixed and closedPackPulse updates the insight

The step that saves the most driving

Fig. 6How a fault in PackPulse becomes a stop on today's route.

Faults arrive with their history

The machine screen shows the status, the fill level, the last return and the error log in plain language. A repair checklist is generated from the error type. Before this, crews spent an average of eleven minutes working out what had happened. Now it's three.

Offline

Network lost 14:02, restart failed

Checklist: power cycle, check SIM, test return. Last return 41 h ago.

Jammed

Slot sensor blocked

Checklist: open front panel, clear chute, run sensor test. Photo of the jam requested.

Full

Bin at 96%

Bring 3 empty crates. Fill rate says it will be full again Thursday.

Fig. 7How a machine fault appears to the crew: what happened, and what to do, before they arrive.

Store staff can ask for cups without calling anyone

Store staff were meant to be a side mode. They became a third of daily users. They get a simplified view of their own location: how many cups are left, when the next delivery is due, and one button to request an extra one. A notification warns them before the dispenser runs out.

Fig. 8Store staff mode and the low-stock notification.

Offline is the normal state

Everything the crew needs for the day downloads in the morning, and every change is saved on the phone first. A small banner says how many changes are waiting, so people never wonder if their work is lost. When two crew members change the same machine, the app shows both versions instead of quietly picking one.

Fig. 9Offline and sync states. 'Saved on this phone' was the most important line of copy in the app.

Installing a new location in one visit

Installing a location used to take two visits and a paper form. The install flow walks the crew through mounting, a network test, a test return, a photo of the signage and a signature from the store manager. When the last step is done, the location appears in PackPulse and the operator gets an email.

Fig. 10The install checklist and the hand-over signature.

06 · Edge cases

The things that break in a van.

SituationWhat the app does
No signal for the whole stopWorks normally, queues changes, shows 'Saved on this phone · 4 changes'
Two people restock the same machineKeeps both entries and asks the second person to confirm, never overwrites
Crate QR is damagedManual entry with the crate number, flagged for the wash partner to replace
Phone battery under 10%Pauses photo uploads, keeps scanning and logging
Store is closed when the crew arrivesOne tap marks the stop as missed, ops lead is told, route recalculates
Wrong machine scannedShows the machine's location in the header so the mistake is obvious
Fig. 11Part of the offline and failure spec, written with the iOS engineers.

07 · Outcome

More stops, less downtime, no paper.

Stops per route per day
0481216
Whole crew
MarAprMayJunJulAug
Fig. 12Average stops completed per route per day, March to August 2026.

Average machine downtime dropped by 44%, mostly because faults now reach the right person with the right context, and urgent stops are inserted into routes instead of waiting for the next day. The crew lead retired the WhatsApp group in July.

“I used to spend my evenings typing up forms. Now I just go home.”

IliasField crew member

“When the dispenser is low I press one button. That's it.”

LindaStore manager, restaurant in Utrecht
Fig. 13From the August review.

08 · Reflection

What I'd do differently.

I underestimated store staff. They started as a side mode, and ended up being a third of daily users. Designing for them from the start would have saved a redesign of the home screen in week 15.

I'm proud that we used plain iOS patterns. It's tempting to design a custom look for a new app. The crew didn't need a brand experience, they needed an app that behaved like every other app on their phone.

Tools on this project

Figma, SwiftUI previews, TestFlight, FigJam service blueprint, Ride-along notes, Dovetail

Names of the people quoted have been changed to protect their privacy.

Next projectPackBack Network

Loop design system →