I built dTime after pressing "15 more minutes" for an entire afternoon.
A short story about self-imposed limits, browser workarounds, the toggle I kept pressing, and the moment the real problem became impossible to ignore.
The first version of dTime didn't start as a product. It started as a screenshot I took of my own browser at 4:42 PM on a Tuesday: the same site-blocker prompt I had clicked at 2:15 PM, 3:08 PM, and 3:51 PM, asking me — politely, professionally, for the fourth time — whether I'd like fifteen more minutes.
I said yes. I said yes every time.
What I'm telling you is not a willpower story. I had installed the blocker because I genuinely wanted to focus. I had read the meta-analyses, drained the Pomodoros, archived the apps, set the screen-time limits on my phone. None of it was working. Or rather: all of it was working exactly as designed, and the design was wrong.
The thing the blocker couldn't see
Here is what was happening on my screen between 2:15 and 4:42. I'd opened YouTube to watch a 12-minute talk on React Server Components. The talk was good. The autoplay queued a follow-up that was also good. The follow-up queued a third that was related-but-tangential, and a fourth that was a casual recap of a JavaScript framework I don't use, and a fifth that was a vlogger I don't watch but who had a thumbnail I couldn't say no to.
To my blocker, all five of these were youtube.com. The first one was a research session. The fifth one was a loop. The blocker treated them identically because it only knew one thing about a tab: the domain.
Most focus tools are exquisite at solving the problem of "how much." They cannot tell you the problem you actually have, which is "why."
So I tried a different tool. Then another. Then another. The trackers told me I'd been on YouTube for 47 minutes; correct, but useless — they couldn't separate the talk from the drift. The blockers refused to acknowledge that the first 12 minutes had been legitimately useful. The timer apps assumed I knew, in advance, which work would and would not need YouTube to support it. None of them, I realized, were actually about focus. They were about restraint. Those are not the same thing.
The note that became a product
That weekend I wrote a note to myself in a plaintext file. I still have it. It said three things:
- The same domain is not the same activity.A YouTube tab opened from a Google search for "React hooks" is a different event than a YouTube tab opened from the homepage feed. A real tool would know that.
- Time on site is the lagging indicator.By the time my blocker fires, I've been drifting for 40 minutes. The signal I want is the cluster forming — the third short visit, not the cumulative hour.
- Restraint without explanation breeds bargaining."15 more minutes" works because the blocker can't tell me what I'm actually losing. If it could say "this is your third short visit after a deep work block — your usual pattern leads to a 90-minute drift," I would believe it.
I sent the note to two friends who I knew had the same problem. One of them — Mina, who had been building design systems at a series of startups and had her own version of the 4:42 screenshot — said: okay, let's actually try it.
The first six weeks
The prototype was embarrassing. It was a Chrome extension that wrote events to a local file and printed a single sentence at the end of each hour: You were focused for 38 minutes. Three short visits to entertainment sites came after the deepest block. No charts. No goals. No streaks.
I shipped it to seven friends. Three of them ignored it. Two of them stopped reading the sentence after a week. Two of them read the sentence every hour, on the hour, for six weeks straight, and one of them — Suh, who writes — sent me a message that said something like: I don't think I need this to do anything else. I just needed someone to say it out loud.
That was the moment I knew the product would work. Not because the prototype was good, but because the unmet need was specific. There is a particular feeling, after a busy day, where you cannot account for how the time went. You have a vague sense that you did some work, and a sharper sense that you did some not-work. The thing that's missing is not more discipline. It's a credible story about where the hours went.
Why dTime is the way it is
So we made a tool that tells you the story. A few choices fell out of that:
- Context, not category.YouTube is learning when it follows an active search; it's drift when it follows a deep work block. The page-level signal matters more than the domain.
- Cluster, not cumulative.The 7-minute mark of your third short visit is the moment that predicts the 90-minute drift. We surface it then, not at minute 47.
- Coach, not cop.The tone of the suggestion matters as much as the timing. "Here's what usually happens next" outperforms "Stop." We have a whole internal style guide; we'll publish it.
- Private by default.The raw events stay on your account. Public surfaces — the leaderboard, shared totals — show minutes, never sites. Coaching is the product, behavioral data is not.
The toggle I don't press anymore
I still use YouTube to watch talks. I still get distracted. I still have afternoons where the day gets away from me. What's different is that I can tell the difference between an afternoon where the day got away because I was learning something new, and an afternoon where the day got away because a thumbnail beat me. The second kind is shorter now, because dTime tells me — quietly, while it's still cheap to stop — when the cluster is forming.
If you've ever clicked "15 more minutes" four times in a single afternoon, this product was built for you specifically. We'll send you an invite when the next batch opens.
— Jin, writing from a focus block that lasted 52 minutes before this paragraph.
Ready for a calmer focus coach?
The closed beta opens in batches. Most invites go out within two weeks.