Show HN: I built an app to block Shorts and Reels (scrollguard.app)

690 points by adrianhacar ↗ HN
I wanted to find a way to use Instagram without ending up scrolling for two hours every time I open the app to see a friend's story.

Most screen time apps I found focus on blocking the app itself instead of the addictive feed, so I created this app to allow me to keep using the "healthy" and "social" features and block the infinite scrolling (Reels)

After implementing the block on Instagram Reels, I got addicted to YouTube Shorts and Reddit feed. So, I extended the app to cover these as well.

To avoid replacing the scrolling for regular feeds, I also added a feature that shows a pop-up when I'm overscrolling in any app. It forces me to stop and think for a minute before I continue scrolling.

I built it on Android Studio, using Kotlin and Jetpack Compose for the UI. I use the Accessibility Service to detect scrolls and navigate out of them. Unfortunately, this only works for Android. There is no way (as far as I know) to do this on iOS.

I'd love to hear your thoughts

106 comments

[ 2.8 ms ] story [ 95.9 ms ] thread
I just can't authorize an app to have full control on my phone if it's not open-source.

What guarantee do I have that you are not selling all my user data?

What guarantees do you have that open source code faithfully reflects what is in the compiled binary?
must be a rather useless device you have there then...
I understand your point.

The short answer is that, indeed, it comes down to trust, and I really understand and respect your perspective.

The long answer is that it's very unlikely this trust would be broken. Let me explain:

Firstly, the accessibility service doesn’t provide anything close to "full control." It’s just an API provided by Android that gives accessibility events, like changes in the screen layout and the UI nodes present on the screen to infer the type of content shown (Reels in my case). You can check online for details on accessibility events. It's nothing like a constant screen recording where the app gets all your data.

Also, Google is very strict with these permissions. When you publish an app on the Play Store, you need to clearly disclose why you're using those permissions. If you do something wrong or try to abuse this, they will take your app down. Anyone who values their reputation wouldn’t attempt something like this just to sell some user data.

Lastly, ScrollGuard doesn’t need to connect to any server to work!, all the detection happens on the device. So, if you want to be extra cautious, you can always go to your phone settings and block internet access to ScrollGuard. It will still work, and without internet access is imposible to export any data.

If you want even more control and just need a solution for Instagram, you can modify the app yourself. I wrote an article a couple of years ago on how to do this here: https://breakthescroll.com/block-reels-instagram/

I love this and I’d especially love for the Instagram search field to be a textarea not a wall of things designed to distract me.
I would love it.

I'm currently using DFInstagram, which removes home feed. Only downside I see is that is also removes Instagram stories which I do like to check, but I can do that from PC if I want.

As for YouTube I can already remove 99% of the distraction by just putting things to private and completely remove recommendations on home page, but reddit / Twitter / Facebook would be great.

For the social medias I'd love to just have "old mode" where I'm only ever shown stuff posted by people I explicitly follow. Everything went to total garbage when "engagement" became the goodhearts metric, and news feed either throw you astroturf, ads, and rage-bait posts by people I haven't even followed

[1] https://www.distractionfreeapps.com/

I also use DFInstagram. You can keep stories; I have mine configured to kill the feed & cancerous search page grid but allow me to see stories. Works great.
Oh that would be great! I can't find where in the setting I can toggle this though
I use Farhan app on Android to do something like this.
Great idea. Does it work as a VPN? I always run into the problems with those:

1. You can only run one VPN at a time 2. My banking apps detect when there's a VPN active and won't run

No need for a VPN, it uses the Android Accessibility Service
More power to you, but I don't understand the psychology of this kind of thing. If I have enough willpower to block a feature why not just use that will power to shut off the app after a while? I understand you're saying it's addictive, but if I were addicted to something then I'm going to be inclined to just remove the blocker.

Anyway, this isn't a critique of your work, just my personal perspective.

If this works as you say in iOS you would be my new hero! Joined the wait list, would be happy to be part of any test you like to run.
Awesome! Feel free to email me at scrollguard [at] breakthescroll.com and I’ll add you when I have a beta ready.
Good idea. I resorted to my own listing of channels on YouTube and never going to the actual site. I'd also get sucked into shorts for hours. I the think the same can be said for any form of scrolling. My goal for is to create a better non addictive social platform.
My friend needs this so bad, he has a Reels addiction so bad it makes me uninstall Instagram. I wish there was a feature to block being sent Reels.

You are doing God’s work with this app.

I don't find short videos addicting because I feel like I'm not getting enough context and information from short videos. I like long form videos.
In a similar vain, I made https://Instag.com, which let's you remove the "RAM" from Instagram media URL's to download them.
> I wanted to find a way to use Instagram without ending up scrolling for two hours every time I open the app to see a friend's story.

Why not just Chrome/Firefox/Safari to open the link instead of the Instagram app?

Being using it for a while and really helps not scroll so much, happy to see this in the top 1 of HN
This is badly needed, but in my case on iOS. There are alternative frontends to most social networks, that can be used or adapted, however. https://github.com/mendel5/alternative-front-ends .. is one list.. but there are others (for example listing alternative Instagram frontends)
In another thread here, the author of "TimeCap" mentions their iOS app. I just downloaded it and am currently trying it. It blocks a lot of the junk. I've only used it for 4 or 5 minutes now, but it does a lot of what I'm looking for, so it's worth a look. There is a fee ($30/yr or $3/week) so I'm currently trying the $3/week to see if it's what I want.
I already deleted the apps, and I mostly use Instagram and youtube in the browser. Any support for blocking reels in browser?
For Instagram I've been using DFinstagram on my Android which removes most features, except chatting and viewing profiles. Also using Firefox with the IGPlus extension which blocks reels. But these make Instagram not feel as smooth or misses some features related to chatting, wish something that has this but still blocks algorithmic suggestions and ads existed.

For YouTube Revanced is very nice, but I also just removed my account, which helped me decrease the amount I spend on YouTube.

... People post stories on Instagram?
Installed and im amazed at how many tines ive habitually tried to use youtube shorts already after 2 hours.

Awesome app, been looking for something like this for a while. Thank you!

As others have said, the permissions required to make this work are scary and require a lot of trust.

The fact YouTube and Instagram don't allow you to disable endless algorithmic short form content is straight up evil.

Using Accessibility Service is a very smart approach.

Could you adjust your app (or make a different version) that automatically covers up ads or automatically skips them (e.g. in Instagram stories). Would be great for TikTok too.

Is there an alternate web client for iOS that's only videos from channels you've subscribed to?
I use Brave Browser's "Block Elements" feature. Works nicely.