Automatic scheduling. The routine must fire without you: same apps, same hours, every night, including weekends if that's when you slip. Manual-start blockers fail at bedtime specifically, because the person who must start them is the tired person. Background: blocking apps at certain times.
Enforcement when willpower is lowest. Apply the 12:30 AM test literally: you are tired, the phone is next to the bed, and "five minutes" sounds reasonable. Whatever the blocker does at that moment — refuse, delay, or ask — is the product. Everything else is configuration. Detail: strict blockers.
Important apps stay available. Phone, Messages, Clock/alarm, and whatever you genuinely need overnight stay off the blocklist. Blocking is per-app everywhere here, so this is a setup step, not a product difference — but verify it during setup night one. Calls and texts specifically: blocking without blocking calls or texts. Don't block the Clock app and alarms behave normally.
Temporary access without blowing up the schedule. The nightmare isn't needing your phone at 1 AM — it's that getting in cancels tomorrow's routine, or the exception becomes the new normal. The right mechanism grants minutes and preserves the schedule: self-closing windows, unblock budgets, or challenges. See emergency access and limited unlocks.
Low nightly maintenance. Set the routine once, then never touch it. Every nightly decision is a nightly failure opportunity.
One useful split: automatic openers vs conscious overriders. If you find yourself mid-feed without remembering opening anything, opening-delay tools (ScreenZen delays, one sec pauses) punch above their weight — awareness is the missing piece. If you stare at a limit screen and tap through it deliberately, only hard scheduled blocks (Fella default-blocked, Deep Focus, Strict Mode on a range, Locked Mode) move the needle. Buy for the group you're in, not the group you wish you were in. The doomscroll mechanics are covered in stopping the doomscroll.