The Strange Value of Just Showing Up
I built a Discord bot to track study hours. 665 hours later, I learned something I didn't expect about how habits actually start.
Coffee shops work because you feel a little stupid wasting time when everyone else looks busy. No one is actually monitoring you. It just gets harder to fully phone it in.
That was the whole idea. I wanted that same effect online. Not surveillance or some productivity cult thing, just a room you can enter where the timer starts when you show up and leaving gets a little harder.
I didn't need perfect focus. I just needed to feel like I was in the room with other people doing something.
Boot.dev pushed me toward this. What changed me there wasn't some huge dramatic system. Tiny work still counted. I could see the streak and the graph filling in, and even on lazy days one small thing still moved the line. That was huge for me. I went from basically no habits to feeling weird if I skipped a day of coding. LockIn came from wanting that same feeling for studying, or work in general. In Discord the bot just showed up as studyBot.
What actually happened
The numbers are small. But they're real. Someone always asks, so here:
Conservative. The bot had uptime issues, so if anything this is low, not inflated.
Not a giant sample. Enough to know real people used it. Median session: exactly 22 minutes.
Four people kept coming back for over a week. That part I didn't expect.
Top five users did 78% of all tracked time. The room needed anchors. A small core kept it warm for everyone else.
The funny part was what people counted as studying
One thing I kept noticing was that LockIn still felt useful even when some of the logged time was obviously messy. I'd ask people if they were actually studying and get answers that were funny, but also kind of revealing.
"Are you actually studying?"
"No, I'm doing Wordle, but that counts."
"No, I'm playing a game, but I'm studying at the same time."
A stricter tool would probably call that bad data. I think that misses the point. Sometimes you drift for ten minutes before you actually start, and sometimes joining the call is the only win you can manage that day.
The bot measures time, not purity. It cannot tell whether you were fully locked in, warming up, or a little distracted. But once the timer is running and other people are there, it gets easier to settle into the work you meant to do.
Sometimes fake productivity is just the awkward warm-up before the real thing.
The moment I knew it wasn't just me
Something shifted when people started pulling each other in. One person joins, someone else notices, a third jumps in, and once there are two or three people in the call the room starts carrying itself.
The reminders helped. The streaks helped. There was also this quiet competitive energy. Not toxic, more like that "bro, you're still in there?" vibe that makes people keep going. The moment that really convinced me this was working was checking late and still seeing people there.
I'd check the call at 3 AM and people were still in there. The room had momentum, and that was doing a lot of the work.
That is the part I trust most. When you join a call with three other people at midnight, you are not starting from zero. You are stepping into something that is already moving.
This is the whole product, basically. Not the charts. Just the room doing something stupid and someone noticing.
What the logs said
After the feeling came the receipts. Rough buckets from the session logs, not lab data. Just what the bot actually saw.
Most sessions were not heroic grind blocks. People often just started small: eleven seconds, six minutes, sitting right under a five-hour run. Both counted.
That matched what I kept hearing in the channel. Show up, sit for a bit, and sometimes that was the whole day.
And this one mattered more to me. You could feel when the room had momentum late at night.
That’s when I’d open Discord and the room was already warm. I wasn’t starting anything. I was joining something.
A little boasting is fun, and people deserved to be seen. If you put in the hours, why would you not want that?
The board made the room legible. You could see who was carrying it without asking.
This part was kind of evil. People got bummed when they broke a streak, which is why they kept coming back.
Most people bounced. A few got hooked. Those few were enough to keep the room alive for everyone else.
210 hours is…
And yes, the top user put up absurd numbers: a long streak, nearly seven hours a day in the channel at peak. It is funnier when you convert that into normal-person units.
40 min avg
marathons
work weeks
flights
Why it worked. The research I found later
I built this from instinct first. The research came later, and it didn’t make the idea smarter. It just named things I’d already felt.
People still joined on days they clearly didn’t want to study. Fogg had the cleaner version of that: stop waiting for motivation and make the first step cheap. One-minute minimum. That’s why it worked on bad days.
The late-night thing was the real engine though. Two other people in the channel and the room had gravity, even with no cameras and no screenshare. Zajonc called it mere presence. I just called it harder to leave.
Streaks were the mean part. Break one and it stung, which is also why people came back. Oyserman talks about identity preparing action. In the channel it was simpler: you stopped saying “I should study.” You were just someone who shows up.
Limit, though: the bot can become the goal, and time is not focus. Kersten-van Dijk and others have been warning about that for years. I kept the timer anyway, because some days joining the call is the only win you’ve got.
The only metric that actually matters
LockIn does not guarantee perfect productivity. It gives you a room, a timer, and just enough social pressure that disappearing gets harder.
For some people, that is already enough to get started. And starting, even badly and even a little late, is the part that actually builds habits.
The bot does not measure your soul. It just makes the first step less lonely. Sometimes that is enough.