I suggest to giving users an options to set upcoming events in stone so as not to be tempted to change it. Let me explain; my first event is 9am-5pm and second is from 8pm-5am. On difficult mode if I’m in the morning I can’t change the 9am-5pm but I can edit the 8pm -5pm since it an upcoming event. I see this as a loophole. The temptation to edit the upcoming event after streaks of no social media is really strong. I highly suggest an option that can set all events in stone and maybe a timer in days that enable you to be able to edit when it over or better still the app should be able to hide itself for a certain amount of days determined by the user. Recovering from screen addiction can be tough and there is always temptation to change settings. Better still there can be a setting lock, so has not to be able to edit settings due to urges.
Check out Beeminder.com. You set a goal, and then you can’t make it “easier” unless you schedule a modification 7 days in advance. I’d use this for my night time blocks.
What would be even better is an opal to Beeminder integration to be track the number of sessions or the time in a session: