"Late" doesn't mean "lost". A note on tone.
We banned every red badge from the incident flow.
Read →We almost shipped a two-tap handoff. Then we ran a tiny test: pairs of beta users trying to remember whether the handoff actually happened, 24 hours later. The number of "I think so?" responses scared us into the code.
The two-tap handoff was elegant. Owner taps "Hand it over." Borrower taps "Got it." Done. We had it built in an afternoon, and for the first two weeks of testing it felt great. People said, "oh, that was easy." Easy is the word you want.
The problem showed up a day later. We started asking beta pairs, the morning after a handoff, whether the borrow had officially started in the app. The answers were a mess.
None of these are catastrophic. But they all chip at the same thing: the small, shared certainty that a real-world exchange just happened. The whole point of the app is to let two people be sure, together, without having to text "ok do you have the thing" later.
We ran a tiny version of the same flow with a code, four digits, generated on the owner's screen, read aloud or shown, typed in by the borrower. Then we asked the same questions the next morning. The "I think so?" answers vanished. Every pair we asked could remember, sharply, the moment they'd punched the numbers in. A lot of them remembered the actual digits.
It turns out the digits are doing two things at once.
A tap is invisible afterward. Even a few hours later, you can't reconstruct it: did I tap? did she? was that the same tap, or a different one? But typing in 4 7 2 9 is a small ritual with a beginning, a middle, and an end. It exists in your hands. You remember the cadence of it the way you remember a phone number.
The two-tap version had a quiet asymmetry: whoever tapped first was the one driving the system, and the other person was just confirming. The code dissolves that. The owner has to say it. The borrower has to type it. Both people are in the loop, on purpose, at the same time.
The code is slower. That's the feature, not the bug.
The four-digit code adds about eleven seconds to the handoff, on average. It also adds two failure modes we now have to design around: codes shown but never typed (the owner taps "Hand it over," walks away, the borrower never finishes), and codes typed wrong (rare, but happens). Both have small UX rescues, the code stays visible on the owner's screen for ten minutes, the borrower gets two tries before the screen offers "show the owner what you see."
We could have spent that complexity budget on something else. We didn't, because the question we kept asking, "does this still feel like neighbors helping neighbors?", has a cleaner answer with the code. Lending a power drill to your friend used to involve some small handshake, a "thanks, I'll bring it back Sunday." The code is the modern shape of that. Eleven seconds is the right price.
One open question: should the code stay visible after the handoff, as a kind of receipt? Right now it disappears the moment both sides confirm, and we like the cleanness of that, the code's job is over, it shouldn't linger. But some beta users have asked for it back. We're watching.
Another open question: voice. We've heard the code spoken aloud more times than we expected. We've thought briefly about a way to play the code as a soft chime instead of just numerals, the way a card reader beeps when it's done. Probably not. But it's been on the whiteboard for a few weeks now.
· with care,
Maya
One short post a month. Never a "growth update".