Skip to content(if available)orjump to list(if available)

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

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

205 comments

·August 16, 2025

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

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.

coffeecoders

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/

mieubrisse

I had an epiphany that faulting myself, and my self-control, is exactly what these sites want you to do. "Oh, it's just your bad self-discipline"

No, this is full-on war for control of your mind. And the adversary spends millions to hire teams of the world's best psychologists and engineers to deploy technology that never sleeps with the sole purpose of grabbing and keeping your attention.

Once I realized this, I started treating doomscrolling and Youtube rabbit holes not as personal insufficiencies, but as systemic failures in my psychological defense system. I started installing my own tech to keep me safe, and I am much, much happier.

Predictably, companies like Google try to disable the defenses (e.g. with Manifest v3, which was a garbage excuse to disable many defensive extensions). And so the war goes.

brailsafe

In a very loosely analogous way, this reminds me of how I think about car-centric cities. They've built themselves up to make it very difficult to practically participate in society without one, often going so far in that direction that it's so unpleasant and inefficient you're fairly likely to make a mistake at some point and be fined for something. The city then bleeds money maintaining the infrastructure and needs constant construction, so signs are intentionally obscured or speed limits set extremely low despite the roads being wide, and cops are hidden around the corner ready to ticket you. This creates a cycle of heightening anxiety and stress while driving, and discouraging you from going anywhere, making it feel safer to just be isolated in your far-flung house, and thank god you have endless streaming content at your fingertips to make that even more palatable.

Addictive media content, particularly short-form casino-style recommended content sucks time away from you in a way that's deeply meaningless. You have no time for friends or real social stimulation and you sit in bed continuing to scroll because it's easy, and you repeat the cycle until all you're doing is that and being sad and lonely, which makes you want to see people more or have a hobby, but that takes a modicum of effort and you have your phone right there.

amatecha

There's a correlation between psychologically-manipulative apps and car-centrism: the endless desire for profit -- hyper-domination by capitalism. If the primary motivating factor behind society's actions were "for the greater good", such things would never have become even remotely acceptable. Instead we allow everything, everywhere, to be driven by the desire for greater wealth (usually on the part of a handful of executives, specifically). The more you question "is this motivated by profit" about anything in society or everyday life that is harmful to you, you'll start to notice that the answer is almost always "yes".

jader201

I won’t argue with the fact that these systems are designed to defeat your ability to control your habits.

But it is possible, without having to install tech to defeat these systems for you.

I think, as with most bad habits, the easiest way to defeat them is to never start them to begin with.

If you haven’t ever smoked, don’t start. If you haven’t ever gotten hooked on Shorts/Reels, don’t start.

I watch YouTube quite often, but only long form content. I even watch some content that takes me multiple nights to finish (e.g. a 5-hour stream of a great board game). I think the only time I’ve watched a Short was accidentally, or if someone shared one with me (fewer than a handful of times).

It also helps if your friends/family don’t do those things too (e.g. so they don’t keep sharing them with you).

But 100% agree that ideally, platforms would give us control over the types of content that show up.

The best I can do on YouTube is to subscribe to channels that don’t do Shorts, and only use Subscriptions as my feed. This has been quite effective.

I don’t even use Instagram (and definitely not TikTok).

My biggest vices are HN and Board Game Geek, but I feel that’s relatively tame (but I could still have healthier habits even with those).

SoftTalker

I’ll be the contrarian and say that while I find the constant pushing of Shorts in YouTube to be annoying, I don’t have any trouble not watching them. I select “show me fewer shorts “ which helps some and I skip over the rest.

null

[deleted]

null

[deleted]

bowsamic

> not as personal insufficiencies, but as systemic failures in my psychological defense system

I was with you until here but this seems like a restatement of the same thing. No it isn’t a failure of you, it’s simply an attack of overwhelming force

lm28469

> This is one of those things that should be unnecessary if we all had perfect self-control,

It's like food, easier to have self control not to buy candies in the supermarket than to have self control at home when you know you have candies in the pantry.

I haven't felt the need to watch a reel since I uninstalled IG, before that I ended up scrolling here and there, not much but enough to regret the lost time at the end of the week

SchemaLoad

Youtube is more problematic. I have it installed for music but you have to actively remember to not get sucked in to shorts. Feeling like legally they should be forced to split out shorts from the main app.

dijit

I constantly find myself telling youtube that I'm not interested in shorts.

However on the App there's no way to do this.

The whole situation is so user-hostile that I'm actively seeking to move somewhere else.

coffeecoders

There is Youtube music (a separate app) just for that!

madamelic

It's also not some "oopsie". It's almost certainly not news but these sites want these 'one more' behaviors.

Years ago, I designed a minimalist YouTube player that removed video suggestions and autoplays but used their player, didn't evade ads, etc. I got banned by Google because they disallow any alternative site for YouTube, only embeds are allowed.

Pretty sure I am still banned on all Google APIs too.

mieubrisse

herewulf

The irony of taming YouTube with Chrome.

I'm happy to see that BlockTube is available for Firefox at least. Thank you for sharing (all the recommendations).

Sent from my Firefox for Android.

keerthiko

You should never expect to have rights to anyone's server API endpoints, esp outside of their TOS, which is basically what trying to build your own front-end independent of youtube.com is. However, with most browsers, you have all the rights to build extensions that hide divs and change styling and add new elements with data that's already loaded (as long as you're not calling API endpoints that aren't called by the site's source though, you run into the same problems again) which would accomplish everything you were trying to do.

herewulf

Of course, now there are pages that detect if their elements or code are being manipulated by the browser (i.e.: Ad blocker detectors).

Thankfully, it's rare because people using ad blockers is apparently rare on the whole.

ghurtado

> I got banned by Google because they disallow any alternative site for YouTube, only embeds are allowed.

I'm sorry that happened to you, but that seems like a perfectly reasonable policy.

In fact, I would have assumed that's the case before reading your comment.

xp84

If it didn't evade ads though, while it's their right to have such a policy with their site, it's still quite a display of the utter contempt they have for their users. Unless they really believe with a straight face that 24 is a healthy optimum for 'YouTube watch hours per day.' Because that's the only number that would cause their brain-hacking to stop.

"You'll consume using our dark-patterned, unhealthy interface which we deeply tuned to maximize addiction and obsession, or you'll GTFO!" -Google.

dcsan

Were you using their embedded player or some other method to play the raw streams?

The embed links back to YT which is a major part of why they provide it for off-platform playback.

But if they somehow singled you out for overuse of the embed that seems rather arbitrary

madamelic

Yep! I was using their embedded player. I thought I was doing everything right but didn't read the ToS because in my mind, ToS is just blocking silly things like "please don't use our product to build nuclear weapons", not "please don't use our product to play videos on another site".

Struck me as very anti-user and BigCorpo.

It was the project that solidified never building on someone else's 'lawn' again.

zem

would also be unnecessary if these apps respected the user rather than trying to addict them

coffeecoders

Hard to exercise willpower when the whole system is tuned up against it.

switchbak

I've tried hard to keep that garbage out of my sight for years.

But dammit YouTube is my one vice. And then they throw those damn shorts on it, I can feel my attention span decreasing.

Seems every product just descends into this anti-human shitscape.

cantor_S_drug

More time spent implies more ads shown implies proportional conversion.

Also now that we have two big companies vying for attention, the competition is fierce to show "relevant ads" first because both receive intent almost simultaneously.

I got a youtube short of an office chair company in the feed. I wasn't looking for it explicitly. It was organic feed. Almost immediately I got an ad for that same chair in gmail. Because all of our phones are always listening for intents and keywords. This is recursive ad slop.

micromacrofoot

One thing I think a lot of people need to realize and ponder on more... is that these companies have nearly infinite resources, they have entire teams studying the psychology of how to get you to use their apps more (because they primarily chase engagement to sell your attention to advertisers).

Not only do they have well-paid experts working on getting you using their platform more often and for longer, but they also have a scary amount of metadata on hundreds of millions of people... they can pluck a person that behaves just like you out of the ether, compare their engagement trends, and apply the same algorithm to you.

The resource imbalance becomes really difficult to comprehend. It's like you're trying to avoid a pickpocket that has successfully pickpocketed millions of people, and the pickpocket has years of your behavior at their fingertips and can cross-reference it with every pickpocketing attempt they've ever attempted... oh, and they designed everything about the city you're walking in to make it easier to pickpocket you.

nativeit

100% agreed. I got my undergraduate degree in Media Studies, and one of things I learned was how intentional even the smallest details are in major productions. They spend millions of dollars, and employ full-time specialists for things like wardrobe and makeup, and those are skilled professionals whose job is to convey a narrative through their specific medium (in this case, wardrobe and makeup).

The same applies when you get to the elite levels of any kind of endeavor--they have long since consumed all of the proverbial low-lying fruit, and so they pay skilled professionals a ton of money to carve out marginal advantages. No presumption of intentional action is too paranoid or unreasonable when you get to this point. Assume every word, comma, image, sound, etc. has been carefully chosen for maximal impact, conscious or otherwise.

micromacrofoot

Case in point: Facebook was once discovered to be keeping track of everything you wrote into the post input... even if you never posted it — they will consume every single piece of data they can

nativeit

It'd be a lot easier if the companies behind these products gave users (paid or otherwise) literally any mechanism to opt-out. It drives me mad that YouTube provides a "not interested" button, but refuses to respect my explicit wishes, even as a YouTube Premium subscriber. It wouldn't even be quite so bad if they just didn't bother to ask, at least then I could imagine that such a mechanism would be too complicated or something, but they bother to ask--and then they comply for the remainder of my session. Just make it permanent, you absolute ghouls.

latexr

> This is one of those things that should be unnecessary if we all had perfect self-control

Or if the platform owners had a minimum of scruples or empathy for their fellow human beings, instead of being disgusting money-hungry goblins concerned solely with their own personal wealth.

null

[deleted]

ckrailo

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

thinkling

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.

vlachen

Also works on the mobile page.

The other thing possible is to block certain post types with uBlock origin, on desktop or mobile:

  www.instagram.com##article:has-text(Suggested for you):style(visibility: hidden !important; height: 300px !important; overflow: hidden !important)
  www.instagram.com##article:has-text(Because you liked a post):style(visibility: hidden !important; height: 300px !important; overflow: hidden !important)

adrianhacar

I didn't know this one, thanks!

wtk

Can you set this as default?

willdelorm

You can't, and I've watched as they've added/removed UI to indicate that you can even press it. I'm glad the feature is there, but it's clear Meta doesn't want you finding it.

lezojeda

[dead]

qgin

THANK YOU

collin128

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

lsd85

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?

FireInsight

DigiPaws has the headlining feature of the app advertised here, and is open source.

https://github.com/nethical6/digipaws

cl3misch

Not that I suspect maliciousness in the case of digipaws or OP, but does the app's code being open-source actually guarantee any security? Is there anything forcing the app I download to be consistent with the repo on Github?

styanax

The readme clearly directs the reader to the F-Droid package, which are built on their buildservers and signed with their APK keys. This does not answer the security question directly, but it's the same model as say Debian repos. There are eyeballs on it by an independent third party packagers who use code scanners and manual review to detect malfeasance, and often have to tweak builds and code to get rid of unwanted things present in some upstreams.

entuno

It doesn't guarantee any security, but it is necessary for you to be able to to be able to have confidence in the security in a reasonable time frame. And if you need a guarantee that the source matches the binary, then you can build it yourself.

tom1337

Not really. I guess to be 100% sure you need to build the app yourself. I don’t think that publish attestation exists on play store. Probably would need to openly build & upload the app via a CI runner, print all hashes inside that runner and then the playstore also needs to display those hashes before you download - but that doesnt exist for play store downloads yet.

adrianhacar

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/

notarobot123

What guarantees do you have that open source code faithfully reflects what is in the compiled binary?

LPisGood

It’s easier for security researchers to check

notimpotent

The idea is that you download the source, review, and then build it yourself.

dvrj101

> full control on my phone if it's not open-source.

bro is using social media that listens and records ton's of data in background.

https://www.hipaajournal.com/jury-trial-meta-flo-health-cons...

nickphx

must be a rather useless device you have there then...

realharo

The device has many eyes on it. Random apps don't.

benry1

I understand the position, but I think that's a silly concern here. This is an app that stops you from using social media features that absolutely farm every bit of data out of you they possibly can.

Feels a bit like being afraid to install a smart lock on your front door, so instead you leave it unlocked all the time.

_verandaguy

This is a bad take, as much as I don't use social media at this point, people need access to good tools to curb use, and in this case, "good" means "open."

benry1

Can you elaborate why? It sounds like we agree to me. People need access to good tools to curb use, and all else equal, open is definitely better than closed. I just am saying that I'd rather have an effective closed tool than no tool at all

Liftyee

Social media apps don't have the same level of permission to detect scrolling even when they aren't being used. This app does have that higher level of control (accessibility service) and so should be subject to more scrutiny.

Jaxan

I am afraid to install smart locks. Too much goes wrong with software. I would install a regular lock instead.

null

[deleted]

widforss

I got locked into my (100+ y/o) house due to a smart lock soon after purchase. It got promptly removed. I'd much rather leave the door unlocked.

anticrymactic

A lot of discussion is about the security of these devices (resistance to false open states). But most of the time the safety (false closed states) has even higher stakes associated to it. Having to wait because some api server is slow is annoying but can quickly become life threatening in a different context. Fail-Safe vs Fail-Secure is (imo) often overlooked and probably just as important as the actual implemented security.

cjonas

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.

mwambua

I'd recommend just uninstalling the apps. I'm still able to get the content I need, and scroll mechanic doesn't work as well on the websites so a lot of the temptation to doom scroll goes away.

calmbonsai

This is the way.

strictnein

The way that all these tech companies decided that the users couldn't simply turn those features off is maddening. And the "See this Less Often" option doesn't seem to do anything at all on apps like Facebook.

cjonas

There should be legislation that requires company's allow "opting out" of individualized algorithmic feeds. I'm fine if you want to show me videos similar to channels I've explicitly subscribed to. But tracking my every interaction and using that to serve content I never asked for is everything that's wrong with modern social media.

Maybe we need an initiative like "stop killing games".

0_____0

If you turn off YouTube view history, it breaks Shorts. It also breaks a lot of other shit (e.g. back button after you've clicked a video from a search).

rs186

Which is why I use modified version of YouTube on the web and on Android. I don't watch videos on iPad unless I have to. (I happen to have an Android tablet so that works well.) Although I know this is not a solution for everyone.

nativeit

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.

andrewrn

I'm very curious how you manage to pull in social feeds-- there are many billions of dollars working against your accessing social media posts that haven't been dipped in digital crack. As far as I can tell, the API's that are available are really limited, as a result.

matus_barany

This looks exactly what I am trying to achieve with RSS but never quite got to the point where it's usable enough to stick to it long term.

nstj

Sounds like a great thing to build! Seems like a lot of commenters are interested in more granular implementation details :)

high_byte

can you elaborate on the setup? this is interesting I want the same

NalNezumi

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/

mieubrisse

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.

grgergo

F.B. Purity[1] works great for Facebook. It can selectively remove ads, suggested crap, reels, etc.

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

madamelic

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.

TheCapeGreek

I keep Instagram to keep in touch with friends abroad.

I keep Facebook because certain communities and events only happen there.

For some of us, it is plain better to only block short form video.

asats

Both of those things could be solved by just talking to people, and talking to people does not require you to use addiction machines.

I keep in touch with my friends abroad by emailing them when I think about them, and I get long form responses on what they are up to, not whatever is the public image filtered stuff that they may or may not be posting somewhere.

SoftTalker

> I haven't figured out how to view the actually useful subreddits without having access to the frontpage feeds.

Maybe I don’t understand what you mean but I follow about 3 subreddits and I just go directly to them in a browser. I don’t use their app.

yreg

> Reddit and YouTube are wastes of time if you are just 'checking in'.

I disagree, YouTube has plenty of creative and interesting content if one has enough will to fight the nonsense that the algorithm shovels at you.

Same goes for reddit actually, and reddit is pretty trivial to filter. Subscribe only to the communities that you find worth it and don't open /r/popular etc.

twalichiewicz

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

hombre_fatal

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.

Atlas667

I've tried adding rules to ublock origin but sites like youtube and many others now have "component obfuscation". Meaning there is no unique ID on their components/elements and it makes it much harder to target.

And some element titles/names are even on a different component than the content, which is even harder still. So it says "reels" on one component and the actual reels are on another.

Blocking now has to be a logical combination of CSS selection, text identification and a target-action component.

hombre_fatal

Good point. I remember Facebook doing obfuscation just to hide the word "sponsored" long ago just so you couldn't easily hide its ads.

That said, they put up a fight in the browser because user interventions (browser plugins, greasemonkey scripts, ad blockers) are viable in the browser but not in native apps.

Though this is also why they want to force you to use their app, and I'm not sure how to incentivize apps to even exist as websites. It feels like a dying fluke that places like Reddit even maintain a web frontend for their app.

upboundspiral

I agree U-Block origin is sometimes hit or miss. What has restored some faith for me was recently discovering that when I use the element picker and select something I want blocked it gives me a list at the bottom right of things it recognized, and if I click through them I can often find exactly what I want to block though often its not the default element anymore. It's not perfect but it has massively improved my satisfaction with Ublock and general enjoyment of being online.