I've tried screen-time blocking apps, and I found them to be too rigid.
There's a list of apps that are eating your time, you disable them - and then if you tried to use them - they're unavailable for the duration you picked.
Generally, a lot of times when you try to open the app - the app being blocked is good because it's preventing you from getting distracted.
But there's times when accessing them is actually useful - maybe there's someone you need to reply to asap, you're at an event and you're trying to connect with someone, and the app's blocked for 5 more hours.
Then you'd have to entirely disable the blocker, which didn't seem like a good experience.
What if the screen time blocker was smart, and when you tried to open an app you selected to be blocked, it would ask you why you're trying to open it, it'd ask you what your reason is.
If it made sense, it'd disable the blocker for a duration it picks - 5 or 10 or 15 minutes. If your reason wasn't valid, it'd reject and the apps stay blocked.
You'd say - hey the AIs are stupid, I'll just come up with some emergency every single time and it'd open the gate every time.
No - here's where it remembers the previous interactions it's had, and if it sees a pattern, it's not going to give in.
Built this for a hackathon. People actually loved it, and wanted to try it out. But as I was trying to make it reliable, there's some Apple restrictions that do not let your app identify the apps picked - so it couldn't tell which app you were trying to open, which it needs to judge your reason.
So the workaround was users having to tag the apps they blocked with their names. I spent a few days trying other ways around it before settling on that.
Later I tweaked it for my own use, so it changed to fit what I needed: the AI gate went away, I added time windows, and it became a simple blocker with a couple of passes that let you unblock apps for 15 minutes.