Show HN: I built an app to block Shorts and Reels

scrollguard.app

675 points by adrianhacar 5 days ago


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

habosa - 2 days ago

So I only use Instagram for the DMs with friends. I don’t follow anyone at all, so my feed should be empty. For years it was.

Then at some point Instagram decided I must not know what I want, they should show me recommended posts from random accounts.

There’s a setting to turn this off … but instead of being a normal toggle I can only “snooze” the posts for 30 days. 30 days of peace and then the spam comes back.

No matter how many times I make it clear what I want, they don’t care. Just gross.

djmips - 2 hours ago

I tried this for a while because I specifically wanted it for YouTube. However, I relized that I want to not see shorts at all! So while it did prevent shorts from playing it was a bad experience. Like getting your hand swatted when your reach for the donut instead of the donuts just not being there at all.

hombre_fatal - 3 days ago

This kind of control is what we miss out on when we leave web apps for native apps.

Ideally this would just be a simple browser plugin.

But the app requires major accessibility permissions so that it can access the API it needs to see into the Android apps, something that doesn't even exist on iOS. Just to do what should amount things like deleting a ".reels" component.

That said, props to OP for figuring out how to build such a feature for mobile. Most of the Show HN's in this space are desktop-only thus kinda useless.

NalNezumi - 3 days ago

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/

nativeit - 2 days ago

I setup a self-hosted FreshRSS + extensions for this very purpose. With a little effort, I can even pull in social media feeds and YouTube subscriptions. Now I have a very plain (but highly functional) UI with a chronological list of the sources I wish to follow. No recommendations, no algorithms, no infinite anything. For discovery, I can now go elsewhere and look for new content with intention, even if facilitated by algorithms. But I've successfully divorced that from the act of consumption.

I can tell you, it feels better. I have experienced what I consider to be a material improvement in consumption habits, and overall mental health.

herf - 2 days ago

Thank you for doing this - I think there are two lines in the sand that a true "user agent" would allow us to set:

1. Don't show recommended content at all--I want to view only the content I've specifically asked for (or searched for) in this session

2. Recommend only content that I've chosen (e.g., by following), where there is a finite amount of it

You'd like such things to be part of the basic wiring of your device, though writing an app to regulate how other apps work is often not easy to implement today, so efforts like this are super valuable. What if a device could look after your attention and ensure you have the motivation to do other things?

Another way these kinds of switches could get built by requiring them as child safety features, like "Watch the YouTube video for school, but don't get an assault of Shorts after" or "See the single TikTok your friend sent, but don't spend five hours scrolling after"

It's pretty clear "willpower" does not suffice.

thinkling - 3 days ago

Instagram tip: if you click the wordlogo “Instagram” at the top (in the mobile app), you can select “Following” and get a feed of only posts from accounts you follow, with no suggested posts and no reels.

I end up going through that feed in a few minutes and it insulates me from the endless scrolling.

abyesilyurt - 3 days ago

This approach is not possible on iOS. Instead, I built a safari extension to block shorts from the feed https://apps.apple.com/nl/app/shorts-stopper/id6745517488?l=...

j1000 - 3 days ago

How this is possible for iOS? Can someone share technical details on this iOS implementation? IMO this cannot be done without validating user privacy and giving app some crucial screen reading permissions.

lsd85 - 3 days ago

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?

Phlogistique - 2 days ago

The problem I have had with this type of app is that, on Instagram at least any video that a friend posts is considered a reel. And I want to watch videos that my friends post. What I don't want is swiping mindlessly through random videos. So really I would like a swipe blocker not a short video blocker. (And bonus points if I could make it work on Firefox)

pwdisswordfishz - 3 days ago

> 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?

twalichiewicz - 2 days ago

I ran into the same problem—my reading list kept growing but I never actually got through it. Feeds are engineered to feel effortless; opening my backlog felt like work.

Instead of blocking sites outright, I tried redirecting attention at the key moment. I built a small extension that sets a daily reading goal, then reroutes me from doomscrolling sites until I hit it. After that, I can browse freely. It’s been a better balance: turning the feed’s habit loop into a nudge for something I actually want to do.

https://chromewebstore.google.com/detail/detour/ogddhmpffcgk...

cjonas - 3 days ago

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.

awaseem - 3 days ago

I love this! You don't see these types of apps for Android. I get the request for Foqos: https://github.com/awaseem/foqos

Would you ever open source this?

makach - 2 days ago

Shorts and Reels are designed to be incredibly addictive. I really wish there were an option to turn them off, especially on Instagram and Snapchat. What I want is to see my friends' photos — but instead, Shorts and Reels quickly funnel me into an endless discovery feed. It feels toxic, distracting, and completely misaligned with the core purpose of these apps. This functionality isn’t necessary, and I’d much rather have the choice to block it.

nadermx - 3 days ago

In a similar vain, I made https://Instag.com, which let's you remove the "RAM" from Instagram media URL's to download them.

biosboiii - 2 days ago

Great work!

I was working on something similiar, using ReVanced(1) Framework, which allows you to distribute fuzzy tweaks to regular APKs with their ReVanced Manager(2) which can persist multiple version updates.

They have their own DSL (3), kinda.

My target was Instagram Reels, I did not come that far with JADX in finding the appropriate methods/attributes to overwrite because I kept getting stuck scrolling reels on my Android Emulator.

Novel obfuscation technique by Meta :/

(1) https://github.com/revanced

(2) https://github.com/revanced/revanced-manager

(3) https://github.com/ReVanced/revanced-patcher/blob/main/docs/...

mike24dzy - 2 days ago

Finally!! Please find a way to make it work on iOS! Or I’ll switch to use android to use your app

coffeecoders - 3 days ago

This is one of those things that should be unnecessary if we all had perfect self-control, but the reality is these apps are engineered explicitly to bypass that.

It feels a bit silly to need guardrails for something as trivial as scrolling.

Shameless personal plug: I wrote about it here. https://nabraj.com/blog/swipe-scroll-repeat-addiction/

bryanhogan - 3 days ago

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.

brailsafe - 3 days ago

I respect any effort put towards this, seems like a decent project.

Incidentally I used to love the SelfControl mac app, but it started having leaks in its ability to function a while back and now seems unmaintained. The irony being that even though it's open source, anyone who'd be inclined to fix/maintain it would need to not know how it works or sacrifice their ability to use it. Afaik there wasn't anything as effective for mobile.

stroebs - 3 days ago

This is brilliant. I have dreamed of a way to force companies to build in parental control to block short-form media. For the kids (it's never for the kids).

source99 - 2 days ago

I would love to build a small physical device at my home wifi router level that detects these network patterns (certain IP addresses and data patterns). Then blocks those network streams. I think the correct fix is to intermittently block them so that the user gets a small drip and don't realize its broken so they don't try to find a workaround like turning off wifi.

apples_oranges - 3 days ago

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)

amatecha - 2 days ago

You could also save yourself a lot of effort (and avoid being the constant subject of manipulation and exploitation) and not use centralized, capitalistic platforms like Instagram. Try Pixelfed ( https://pixelfed.org/ ) or something.

semitones - 3 days ago

I already deleted the apps, and I mostly use Instagram and youtube in the browser. Any support for blocking reels in browser?

business_liveit - 2 days ago

Nice work! Using the Accessibility Service for scroll detection is a clever approach. I imagine keeping it lightweight while monitoring multiple apps could be tricky — did you run into performance or battery usage issues while testing?

ckrailo - 2 days ago

Here's what I added to uBlock:

  ! YouTube
  ! Remove blue box
  www.youtube.com###clarify-box
  ! Remove shorts
  www.youtube.com##ytd-rich-section-renderer.ytd-rich-grid-renderer.style-scope:has(#rich-shelf-header:has-text(Shorts))
  www.youtube.com##ytd-reel-shelf-renderer.ytd-item-section-renderer.style-scope:has(h2.ytd-reel-shelf-renderer.style-scope:has-text(Shorts))
Oceoss - 2 days ago

"focus on blocking the app itself instead of the addictive feed" " the "healthy" and "social" features" maannn, this totally resonates with me, I totally agree and I always thought about this too social media/instagram has positive parts (connect with friends) and extremely negative parts (reels) I will try that

akomtu - 2 days ago

Reels and Shorts derive their power from the fact that we pay higher attention to motion than to colors or shape. Blinking colors attract attention for the same reason. This observation makes it easy to neuter them: reduce framerate from 120 fps to 1 fps unless a touch is detected. This way scrolling will keep working as usual and videos can be watched if you keep pressing the screen, but the unwanted guests that abuse our attention will be left in the dust with 1 fps. Great for battery life too.

bonyt - 2 days ago

On iOS and on desktop, I use my ad blocker to block shorts[1]. On iOS, this means not using the YouTube app, so I just uninstalled it and use the mobile website, which seems fine.

[1]: https://github.com/gijsdev/ublock-hide-yt-shorts

1gn15 - 2 days ago

Nice! I use ReVanced to mod apps to do this. https://revanced.app/patches?pkg=com.google.android.youtube

Though I've been trying to avoid using apps without source code nowadays precisely because of things like this. Mods can break.

ugh123 - 2 days ago

I would love to be able to do this at the router level (to block on all my kid's devices). and/or block just youtube traffic (via app, websites, etc)

zer0zzz - 3 days ago

I the one reason I use iOS is the built in chat is pretty good and has most all my friends and family and so between that and many of the other built in apps I can avoid needing so many third party apps.

So my scrolling fixation is mostly limited to the browser. One nice thing about meta is they ALL of their mobile webapps are terrible so they don’t get me, but YouTube shorts does very often. I wish there was a good way to block all shorts on YouTube through the browser.

- 2 days ago
[deleted]
SethMLarson - 2 days ago

You can disable YouTube Shorts (kinda) by disabling history: https://sethmlarson.dev/youtube-without-youtube-shorts

jakobedding - 3 days ago

Shameless plug: I wrote a user script a while ago that removes everything from the Instagram explore tab when using Instagram in the browser. Confirmed to work on iOS Safari. Requires an app to handle user scripts (e.g. "Userscripts" by Justin Wasack).

https://gist.github.com/jkbe/f362514f99765ac7a9dc343acfe6918...

RomanPushkin - 2 days ago

Is there anything similar to block/unblock them on network level? Some kind of lists, how reliable those lists are and how often do you need to update those? Curious if I can just have a shell script and will autoupdate everything on my router - install and forget solution.

jimmcslim - 2 days ago

Apple have no interest in fixing the “one more minute” loophole in Screen Time so I don’t see them wanting to support this.

throwaway106382 - 2 days ago

I use Unhook for YouTube. It’s crazy how much better YouTube feels to use when you just remove 90% of it.

shabazahmed - 3 days ago

There is actually a developer setting in Instagram to stop swipe up for next reel. You can still watch reels sent by your friends but you won't be able to swipe up. You can also remove reels icon from bottom bar. If you are using MyIntsa or Revanced Instagram you can enable it (Android only). Hope it was user option too.

Perz1val - 3 days ago

I have an entirely different problem with youtube, I open all the videos I want to watch from the main page and subscribed page in bew tabs and then sit through them for 3h straight. Shorts are non issue, when I open them the UI and playback pisses me off so quicky that I don't even watch all shorts from my subscribed channels.

subpixel - 3 days ago

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.

monster_truck - 3 days ago

My thoughts are that you need to turn notifications off and delete these apps instead of whatever this "we promise we're not abusing accessibility to mine your information" bullshit is

We have a way of finding out what our actual, real friends are doing: it's called talking to them

higgins - 2 days ago

Excellent!

Is this a browser extension or extension of the ScreenTime APIs? I find those apps that rely on screentime API to have too many hoops to jump through on user onboarding (not to mention a buggy app search interface in the ios sdk), so would be willing to test other strategies

hmokiguess - 3 days ago

I find any kind of addiction has the same challenge towards breaking from the entrapment cycle which is to raise awareness and understanding then developing thoughtful thinking. Can an app really do that for us? Will it ever? Grounding yourself is such an organic thing to do.

asim - 3 days ago

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.

SamDc73 - 2 days ago

one of my dreams (I know it's technically kind of very hard to pull) is to be able to block them DNS level, the same way I block ads on my router level

xnx - 3 days ago

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.

VladVladikoff - 2 days ago

I’m surprised this is even possible? I didn’t realize one app could control the behaviour of another?

jacktheturtle - 2 days ago

I am an iOS user and I really need this. I love the Youtube App, but I can't stand having it auto open to shorts... They are truly mining my brain through this action.

cenamus - 3 days ago

I love the concept, I went as far as patching the android app for instagram back in the day to stop me from scrolling (crashing was good enough). Haven't kept up to date unfortunately.

cosmosfr - 2 days ago

It really has become a problem that I can no longer ignore. Thank you for the application.

amunozo - 2 days ago

Does this work on the web version? I uninstalled the YouTube app but I keep watching shorts in Chrome anyway...

tompagenet2 - 2 days ago

Amazing! I don't know how you're doing it but there are no Shorts in YouTube now!

esperent - 3 days ago

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

Mistletoe - 3 days ago

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.

DontchaKnowit - 3 days ago

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!

juggy69 - 2 days ago

Does it block shorts even if i access youtube through in-app browsers on other apps like Telegram?

vahid4m - 3 days ago

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.

AntoninLafy - 2 days ago

This is an amazing idea. I found that most productivity apps are overkill. Anyway to test?

anoojb - 3 days ago

Is there an alternate web client for iOS that's only videos from channels you've subscribed to?

rootsudo - 3 days ago

I just uninstall the app on ios, and dns filtering, but with ublock on ios you can block it too.

caldito - 3 days ago

Being using it for a while and really helps not scroll so much, happy to see this in the top 1 of HN

michaelteter - 2 days ago

I find that not visiting the lure parent sites is equally effective.

phyzix5761 - 3 days ago

I use Brave Browser's "Block Elements" feature. Works nicely.

mflaherty22 - 3 days ago

In my opinion tech is not the solution to issues of self-discipline.

tigrezno - 3 days ago

I like Shorts. They strip all the unnecesary sponsors and chatter.

janaagaard - 3 days ago

I want this for YouTube.

collin128 - 2 days ago

Love it. Do you have a way of supporting you?

mkbkn - 3 days ago

I use Farhan app on Android to do something like this.

sailfast - 2 days ago

I love this. Joined the waitlist.

anonu - 3 days ago

Removing the apps was the biggest solve for me. I still maintain some social accounts, but not having the native app reduces time spent considerably.

I am addicted to YouTube Shorts. It would be fine if it wasn't the first thing you see when you open YouTube. But often, I will open the app and then completely forget what long-form video I wanted to search for because the Shorts got me. It is insidious. The youtube app even asked me once - in some sort of survey - if I enjoyed seeing Shorts first thing and I said no. Nothing changed.

zwaps - 2 days ago

if you manage to do this on ios I will give you money

yukieliot - a day ago

but i like youtube short

andrewrn - 2 days ago

This is excellent!

petesergeant - 2 days ago

If you use uBlock, adding this for LinkedIn can be great:

www.linkedin.com##main[aria-label="Main Feed"] .scaffold-finite-scroll__content

Removes all content, while still allowing you to post content (write-only media, innit?), and send and get messages etc.

basim773 - 2 days ago

Nice,

sayamqazi - 2 days ago

If only there was an app that can prevent me from doomscrolling hackernews and tech/programming subreddits, I would already be a 10xer.

zahlman - 3 days ago

... People post stories on Instagram?

lirena00 - 2 days ago

ngl much needed app for sure, I really hate short form conent and such

madamelic - 3 days ago

Better suggestion: block these sites entirely. Reddit and YouTube are wastes of time if you are just 'checking in'.

Use YouTube-DL to download videos from specific creators and watch independently. I haven't figured out how to view the actually useful subreddits without having access to the frontpage feeds.

Feeds are one of the worst things to be invented in the Internet age. I can't imagine how far behind we are because they've caught otherwise smart people in this insane dopamine trap.

nicohayes - 2 days ago

[dead]

techlatest_net - 3 days ago

[dead]

ksniwmidjd - 3 days ago

[dead]

skyzouwdev - 2 days ago

[flagged]

mrkramer - 3 days ago

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.

tamimio - 2 days ago

Glad that I don’t use social media and never created any FB, instagram, etc. accounts. Interesting how a lot of people have no self control.

root_axis - 3 days ago

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.