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.
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.
- Insight↓
PackPulse spots a fault or a low dispenser
PackPulse
- Task↓
Becomes a stop on a route, with context
Ops lead
- Visit↓
Crew fixes, restocks or empties
Field crew
- Log↓
Scans, photos and notes, offline first
Ops app
- Close↺ back to 01
Machine back online, PackPulse updated
PackPulse
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.
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.”
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.”
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?”
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.
Web app in the browser
Fastest to build, but offline storage and camera scanning were unreliable on the crew's phones.
Task list by priority
Matched how the ops lead thought. Crews ignored the order and re-planned in Google Maps.
Native app built around the route
The day as an ordered route, each stop with its tasks and machine history, all available offline.
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.
- 01PackPulse flags a faultSmartBin RC-02 offline
- 02Ops lead adds a stopOr it's added automatically
- 03Route recalculatedInserted between stops 4 and 5
- 04Crew gets a pushWith fault history attached
- 05Fixed and closedPackPulse updates the insight
The step that saves the most driving
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.
Network lost 14:02, restart failed
Checklist: power cycle, check SIM, test return. Last return 41 h ago.
Slot sensor blocked
Checklist: open front panel, clear chute, run sensor test. Photo of the jam requested.
Bin at 96%
Bring 3 empty crates. Fill rate says it will be full again Thursday.
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.
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.
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.
06 · Edge cases
The things that break in a van.
| Situation | What the app does |
|---|---|
| No signal for the whole stop | Works normally, queues changes, shows 'Saved on this phone · 4 changes' |
| Two people restock the same machine | Keeps both entries and asks the second person to confirm, never overwrites |
| Crate QR is damaged | Manual 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 arrives | One tap marks the stop as missed, ops lead is told, route recalculates |
| Wrong machine scanned | Shows the machine's location in the header so the mistake is obvious |
07 · Outcome
More stops, less downtime, no paper.
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.”
“When the dispenser is low I press one button. That's it.”
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.
Loop design system →

