Delivery for Facebook marketplace and so much more
Haul matching for Marketplace. The first bet was escrow. The real problem was getting two people on the same trip without making it feel like a classifieds board.
- Product
- Research
- Visual design
Context
Two sides, one trip
Marketplace leftover furniture, plus people already driving that way. Book a haul, or earn on a trip you are making anyway. Early research kept pointing at payment and liability. Those matter. They were not the thing blocking a first trip.
Empty states were going to be the product for a while. If the first screen looked like a busy marketplace, nobody would believe it. It had to feel calm even with three listings and a lot of road.
Role
What I owned
I led product and UI, plus the brand. Ash ran research and paired on UI. iOS first. Corridor coverage, not city-wide. A two-sided marketplace that cannot look busy on day one.
Filler note for the template: swap this paragraph for the actual constraint list, the tools, and where the research stopped being a slide and started being a build.
Decision 01
Do not start with escrow
Escrow felt like the grown-up answer. It also asked both sides to trust a money box before they had ever met. We parked it. First trip is a match, a time, and a face. Payment can get serious after the behaviour exists.
Filler for the template: this is where the discarded flow lives. A checkout, a hold, a dispute path. Useful later. Wrong as the first conversation the product has with a stranger.
Decision 02
Matching has to feel like a ride
A list of strangers with prices trains people to haggle. We led with route overlap, timing, and a short why. Three options max. If you are comparing twelve hauls, the product already failed.
Filler: put the discarded list UI here. Dense cards, filters, a map that tried to do too much. The version that shipped is quieter on purpose.
Decision 03
Trust without a form gauntlet
Photo check-in, ratings after the haul, a chat that only opens once you are booked. Enough to feel held. Not so much that a first-time mover bails.
Filler: onboarding shots and the rate-haul flow go here. The point is the sequence, not a wall of identity fields before anyone has a reason to care.
Outcomes
What changed, even in filler
First trip without escrow
Bookings could happen before the money box existed. The match was the product, not the hold.
Yes from an existing trip
Drivers could take a haul on a corridor they were already driving. Less deadhead, less theatre.
Calm while empty
The UI still read as a product when the marketplace was thin. Empty was a state, not a broken page.
What we would measure later: time to first match, percent of matches that book, no-show rate, and whether people come back for a second haul. Numbers are filler until the live product has them.
Reflection
Look like a ride with a couch in the back
Lorem ipsum dolor sit amet consectetur. Tristique egestas senectus pellentesque felis ut sit sit pharetra facilisis. Nec viverra non quam gravida posuere id elit a. Tellus mi consectetur proin quam nisl justo aliquam urna. Feugiat mauris ultricies duis dignissim ultrices scelerisque mauris hendrerit.







