Lockin

Forfeit story → 100 pushups a day

Sixty reps logged. Forty left. Twelve minutes to the deadline.

Diego's grease-the-groove rhythm held for nine days. Then a 92-degree roof job, a Marlins game, and a couch conspired against him — and the math at 9:48pm, with twelve minutes to his deadline, was impossible.

Diego, 35, general contractor, Miami

How it started

Diego had been in construction since his early twenties, and the work kept him lean without keeping him strong in any particular direction. Framing and finishing loaded his legs and his back. His shoulders got the repetitive overhead work of a job site — not hypertrophy, not structured load, just accumulated fatigue. He had tried gym memberships twice and canceled both times within six weeks. The problem was never motivation in the abstract. It was the logistics: he started at 6:30am, finished between 4pm and 6pm depending on the job, and by the time he showered and ate there was nothing left of the day that felt like gym time. What he wanted was something he could thread through the day rather than bolt onto the end of it. He had read about greasing the groove — the method of distribbing a target rep count across the day in submaximal sets, never going to failure, keeping each set short enough to fold into natural breaks. A hundred pushups a day sounded like a number you would say in passing, but distributed as ten reps before each coffee, ten reps before lunch, ten reps before the drive home, it became something different. It became manageable. He had been doing incidental sets like this for years without naming the pattern — ten reps here, fifteen reps there — but without a target it had never accumulated into anything. The hundred-per-day structure gave the incidental sets somewhere to go.

The contract

$5/day staked against 100 pushups a day, charity: mental health.

Diego configured a Lockin contract at the start of a Monday: $5 per day forfeited to a mental-health charity if his daily rep count fell below 100. Verification ran through the app's on-device pose detection — phone propped flat on the floor, camera facing up, the model counting each rep where his chest came within a calibrated distance of the floor and his arms reached full extension at the top. He tested it the first morning with a set of ten and watched the counter tick. The pose detection was strict about form. A partial rep did not count. He had to be deliberate about the depth of each set. One of the wizard steps asked him to set a daily deadline — the cutoff after which the day's stake auto-forfeited. The default was 11:59pm. He could leave it there or open the 24-hour picker and pull it earlier. He thought about an 11:59pm deadline for about ten seconds and rejected it. The whole problem with bolt-it-on-at-the-end exercise was that it drifted into the bedtime zone, where pushups competed with sleep and lost. A late deadline would let the workout slide into 11:30pm, which was the version of the day he was specifically trying to retire. He pulled the deadline back to 10:00pm. Late enough to absorb a long roof day; early enough that the pushups had to happen before the couch closed in. The tighter deadline raised both the reward and the pressure. He liked that. The deadline, set once in the wizard, applied to every day in the contract and could not be edited later. The ten-reps-per-break structure worked immediately. He kept the app open on his phone and checked the running tally the way he checked a measuring tape — a quick confirmation of where he stood before moving to the next thing. By the end of day one he had logged 110 reps, a small cushion. Day two: 105. Days three through nine ran between 100 and 115, with the cushion varying by how many natural breaks the job offered. On a framing day with long continuous runs of work he finished the evening with 40 reps still to do, and logged them in two sets before dinner, well before the 10pm deadline. The structure had slack in it. That was the design. The slack was not infinite.

The night it almost broke

Day ten was a Saturday. The job was a flat-roof replacement in Hialeah — a two-man crew, he and a sub, laying modified bitumen in 92-degree heat that the roof surface amplified to something closer to 115. He had been up at 5:45am to beat the worst of it. By noon they had laid two-thirds of the roof and taken one break, fifteen minutes, in the shade of the truck. He logged ten reps before the break and ten reps after it. By the time they finished at 4:30pm his forearms had the particular dead feeling that comes not from any single exertion but from eight hours of continuous handling — rolls of membrane, buckets of adhesive, the metal roller that smoothed the seams. He counted 60 reps logged on the drive home. He showered. He ate — his wife had made arroz con pollo and he ate two plates, which was not unusual after a roof day. He sat down on the couch at 6:30pm to watch the Marlins game with his daughter, who was eleven and had recently decided she liked baseball. He told himself he would do 20 reps at the seventh-inning stretch and the last 20 right after. He fell asleep somewhere in the third inning. He did not feel himself go under. One moment the game was on; the next it was dark in the living room, the TV was off, and his phone showed 9:48pm. The deadline was 10:00pm. He looked at the Lockin counter: 60 reps logged. 40 to go. 12 minutes. He got down on the floor. His arms were not the arms of someone who had been resting since 6:30pm. They were the arms of someone who had been moving rolls of modified bitumen since 6am. He completed eight reps with clean form before the pose detection started flagging him — the depth was there but the lockout at the top was partial, the model registered a confidence threshold below what the contract required and stopped counting. He tried to slow down and extend fully. He managed two more reps before his left shoulder made the decision for him. He stopped at 68. He sat on the floor for a moment. Then he put the phone on the counter and went to bed. The forfeit registered at 10:00pm: $5 to mental health.

What it cost

Diego opened the dashboard the next morning before he did anything else. The forfeit line was there: day 10, 68 reps logged at the 10:00pm deadline, $5. He looked at it for a while without being angry about it. The job had been real. The fatigue had been real. He was not going to pretend that 40 pushups at 9:48pm after a roof day in August heat was a reasonable ask, because it was not. That was not the part that troubled him. What troubled him was 6:30pm. He had sat down with 40 reps outstanding and a 10pm deadline still three and a half hours away — plenty of time, if he stayed conscious. He had told himself he would do them at the seventh-inning stretch. He had not set an alarm. He had not done the 20 reps before sitting down, which would have left him with only 20 to do during the stretch. He had sat down first — into a couch, after two plates of arroz con pollo, with the specific gravitational pull of a tired body at rest — and assigned the 40 reps to a future version of himself who would not be accelerating into sleep on the downslope of a roof day. The seventh-inning stretch is a construct. It does not come when you are asleep in the third inning. The $5 was not the part that made the morning uncomfortable. The number was small. What made the morning uncomfortable was that he could see, with the clarity of the next day, the exact moment the forfeit had been determined — not at 9:48pm, not at the 10pm deadline, but at 6:30pm, the moment he sat down without doing the reps first. The 10pm deadline he had set in the wizard had done what it was supposed to do: it had refused to let the workout drift into the bedtime zone where it would have died quietly and unmeasured. It had simply scored the day at the time he had asked it to.

Forfeit

$5 → mental health

What changed

Diego reset the contract starting Monday with a single structural change. The last 20 reps of the day had to happen immediately after dinner, before he sat down anywhere that could become horizontal. Not during the game. Not at the seventh-inning stretch. Before the couch. The rule was pre-couch, not post-couch, and it was non-negotiable regardless of how the day had gone, because how the day had gone was precisely when the rule needed to hold. From day eleven forward he did not miss a day. On heavy job days he came home with 50 or 60 reps logged, ate, stood at the kitchen counter and completed 20 reps before moving to the living room, and logged the remaining sets in smaller increments over the next hour. The pose detection continued to flag form when he was genuinely fatigued — he learned which sets he could push through and which he needed to slow down for. The 40-to-go deficit that had seemed impossible at 9:48pm became a manageable 20 when the first half of it was handled before inertia set in. The grease-the-groove method worked exactly as designed when the final set had a fixed time gate — after dinner, standing, before the transition to rest. It failed when the final set was assigned to a break that would only occur if he remained conscious. He had not changed the method. He had changed the only variable the method could not protect itself against, which was the moment he stopped treating the day's reps as ongoing and started treating them as deferred.

"He had told himself he would do them at the seventh-inning stretch. The seventh-inning stretch does not come when you fall asleep in the third inning. The forfeit was decided at 6:30pm, when he sat down without doing the reps first."

— Diego, 35, general contractor, Miami

Try the same contract.

Read how a 100 pushups a day contract works on Lockin — what counts as proof, how the stake is held, and where the money goes if you miss.

See the 100 pushups a day 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.