Lockin

Forfeit story → pushup challenge with a friend

His friend's segment turned green at 7:30am. His turned red at 9pm.

Tomás and his college roommate ran a mutual Friend Challenge — both staked $5/day on 100 pushups. Eleven clean days. Then a wedding weekend and the math at 9pm in a hotel guest room said 87.

Tomás, 31, mechanical engineer, Denver

How it started

Tomás had lifted on and off since college without ever building anything that survived a busy quarter at work. The pattern was familiar enough that he had stopped pretending it would resolve on its own: he would set up a program, run it for three or four weeks, hit a stretch of late nights at the office, miss a session, miss a week, miss a month. The gym membership outlasted the gym attendance by an order of magnitude. What he kept coming back to, in the gaps, was bodyweight work — pushups specifically, because they required no equipment and no commute and could be done in the five-minute spaces between meetings if the day went a certain way. He had read about high-frequency calisthenics protocols and the grease-the-groove distribution and had tried versions of all of them in solo form. None had stuck past three weeks. The thing he had not tried was a social layer. He was aware, in the abstract, that adherence research consistently showed accountability partners outperform solo commitments. He had not built one because the friends who would have been candidates lived in different cities and the logistics of synchronizing anything had always felt like more friction than the practice itself. His college roommate Daniel had moved to Seattle four years earlier. They talked every couple of weeks, mostly about work and about a fantasy football league they had run together since 2019. Daniel had texted in early March about wanting to get back into shape and had floated the idea of a shared challenge — something neither of them could quietly let lapse without the other noticing. Tomás had suggested 100 pushups a day. Daniel had agreed within ninety seconds. The plan sat in their text thread for six days before Tomás opened Lockin and saw the Friend Challenge flow.

The contract

$5/day staked against pushup challenge with a friend, charity: climate.

Tomás configured the challenge in mutual mode — recipient_pays — which meant each of them funded his own daily stake rather than one person putting up money on behalf of both. $5 per day per person, 100 pushups verified through the on-device pose detection: elbow angle below 100 degrees on the descent, above 150 degrees at the top, partial reps not counted. Default deadline 23:59 local time, each person on his own timezone — Daniel in Pacific, Tomás in Mountain, the deadlines staggered by an hour. They sent the challenge in both directions so each person held a mirror contract against the other. The Friend Challenge dashboard showed two parallel tracks: Daniel's daily segment on top, Tomás's on the bottom, each segment turning green when verified or red when the deadline closed without a passing rep count. Push notifications fired on completion in both directions. Tomás could see, in something close to real time, when Daniel finished his hundred, and Daniel could see his.

The night it almost broke

The first eleven days ran cleaner than either of them had expected. Daniel was an early-morning person — he banged out the hundred between 6:15am and 7:30am Pacific most days, which meant Tomás's phone would buzz with the completion notification while he was still drinking his first coffee in Denver. The notification became part of his morning. He would see Daniel's segment shimmer green on the dashboard and feel the small social pressure of being one timezone behind on the same task. He was not racing Daniel. They had not framed it as a race. But seeing the green segment land at 7:30am made the open red space below it feel like an obligation that had a clock on it, and he found himself doing his first set of twenty by 8am most mornings rather than waiting until lunch. The grease-the-groove distribution worked the way it was supposed to. By 9pm on day eleven he had logged his hundred, watched his own segment turn green next to Daniel's, and gone to bed at a reasonable hour for the eleventh consecutive night. Day twelve was a Friday. Tomás flew to Phoenix at 6am for a college friend's wedding — not Daniel's, a different friend, with a Saturday afternoon ceremony and a Friday-night rehearsal dinner that Tomás was expected at by 7pm. He had thought about the pushups during the flight and had a plan: hotel check-in by noon, hundred reps done by 2pm, free for the rest of the weekend. The plan did not survive the morning. The flight was delayed ninety minutes. The rental car line was forty minutes long. He reached the hotel at 2:15pm with a 7pm rehearsal-dinner clock already running and a suit that needed pressing. At 7:32am his phone had buzzed with Daniel's completion notification. He had glanced at it on the tarmac and not done anything with the information. The dashboard showed Daniel's day-twelve segment in green and his own in waiting-state grey. He got to 60 reps in the hotel bathroom by 8pm — three sets of twenty squeezed between the shower and the suit, the phone propped against the bathtub for pose detection. The pose model flagged two reps in the third set for incomplete lockout and he did not have the time to argue with it. He put on the suit at 8:14pm and made the rehearsal dinner. He came back to the hotel at 11:40pm. He pushed himself through twenty more reps in the guest room at 11:50pm and watched the counter on his phone register them — 80 logged. The deadline was 11:59pm Mountain. He had nine minutes for twenty more reps with arms that had been at a wedding rehearsal dinner for four hours after a 6am flight. He went down on the carpet and got eight clean reps before the model started flagging form. Two more partials that did not count. He stopped at 88 logged. The deadline closed at 11:59pm. The forfeit registered: $5 to climate. His own segment on the dashboard turned red at 12:00am next to Daniel's green from sixteen and a half hours earlier.

What it cost

Tomás opened the dashboard at 9:01am Saturday — the time he wrote in his notes later was approximate, the wedding had absorbed the morning — and looked at day twelve. Daniel's segment: green, completed 7:30am Pacific. His own segment: red, 88 of 100, deadline closed. Two stakes settled independently. Daniel's $5 returned to him automatically because his hundred had cleared. Tomás's $5 forfeited to the climate fund because his hadn't. There was no transfer between them. Daniel had not won anything. Tomás had not lost anything to Daniel. The mutual structure of the challenge meant each person's stake settled against his own performance, in his own timezone, on his own arithmetic. The dashboard showed this cleanly: two parallel rows, each with its own ledger. What Tomás sat with at the hotel coffee stand was not a sense of having lost a competition. He had not lost a competition. The structure made it impossible to lose one — the challenge was not zero-sum, the friend's success was not the protagonist's loss, the social layer was a witnessing layer rather than an adversarial one. Daniel had cleared his hundred on day twelve. That was unrelated to whether Tomás cleared his. What Tomás had lost was to the deadline. He had landed in Phoenix with a plan that assumed travel would behave, and travel had not, and he had ended up at 9pm in a hotel guest room trying to extract twenty pushups from forearms that had been doing other things since 6am. The 7:30am morning notification from Daniel had been a pull. It had not been a pull large enough to override the logistics. The morning cushion he had relied on for eleven straight days — first set by 8am, hundred done by lunch on flexible days, hundred distributed across natural breaks on busy ones — had not existed on day twelve because day twelve had started in an airport at 5am. By the time he had access to a floor and a wall to prop the phone against, the cushion was gone and the only remaining path required him to do reps at the end of the day rather than throughout it.

Forfeit

$5 → climate

What changed

Tomás did not change the contract. The challenge had nineteen days left and the stake structure was working — eleven clean days out of twelve was a higher adherence rate than any previous solo attempt he had made at the same target. What he changed was the travel-day rule. He set a recurring 6am alarm on his phone labeled Pushups that would fire on any day his calendar showed a flight before noon. The rule was simple: twenty reps before he left the hotel or apartment, no exceptions, regardless of how early the alarm was. Twenty reps was a sub-three-minute commitment that did not require the day to behave in any particular way afterward. It established a morning floor — a 20-rep cushion banked before the day's logistics could begin to drift — and converted the remaining eighty into a number that could be distributed across whatever the day actually looked like. He flew twice more during the contract window. Both mornings the alarm fired at 6am, he did twenty reps in the hotel before showering, and the day-of completion happened by mid-afternoon both times. Daniel cleared every remaining day of the contract. Tomás cleared every remaining day after day twelve. The day-twelve forfeit stayed gone — five dollars to climate, with the bulk of his stake funding the charity after a small platform fee. Daniel's stake, the same five dollars in mirror form, stayed with Daniel because his own deadline had closed clean. The settlement structure had behaved exactly as designed: per-person, per-deadline, per-timezone, with the social layer working as a 7:30am morning pull rather than as a competitive overhang.

"Daniel's stake came back to him because his deadline closed clean. Tomás's forfeited because his didn't. The challenge was a witnessing layer, not a competition — Tomás did not lose to Daniel, he lost to the 11:59pm deadline in a hotel guest room with arms that had been at a rehearsal dinner."

— Tomás, 31, mechanical engineer, Denver

Try the same contract.

Read how a pushup challenge with a friend contract works on Lockin — what counts as proof, how the stake is held, and where the money goes if you miss.

See the pushup challenge with a friend contract →

Other forfeit stories

Stop deciding. Start staking.

Composite story. Names and identifying details have been changed or invented. Patterns drawn from anonymized Lockin beta-user data.