13 ms·
DoNotNotify is now Open Source
A month ago, I submitted my app "DoNotNotify" to control Android notifications on Show HN [0], and it trended on the front page for a day. I was happy, but the most upvoted comments on the thread were asking for the app to be open sourced, since it dealt with system-wide notifications. My promises weren't good enough, and the community wanted more!
Why didn't I open source it in the first place? Linux has been by primary driver for more than a decade. I genuinely believe in the philosophy, and have always wanted to give back to the community. The primary reason, probably, was because I was ashamed that I had 90% vibe-coded the app. More than 2 decades of writing software, and my first contribution to FOSS would be AI-generated code? Would it withstand even the most minimal of scrutiny? Would by (unknown) name forever be tarnished? I exaggerate, but only slightly :)
So, yesterday, after a fair bit of trepidation, I changed the github repo visibility to public and put up a announcement on the app's website [1]. I have also submitted the app to F-Droid [2]. As before, I welcome the community's feedback and suggestions!
[0] https://news.ycombinator.com/item?id=46499646 https://news.ycombinator.com/item?id=46499646
[1] https://donotnotify.com/opensource.html https://donotnotify.com/opensource.html
[2] https://gitlab.com/fdroid/rfp/-/issues/3569 https://gitlab.com/fdroid/rfp/-/issues/3569
--
Anuj Jain
- positive-spite 7mo agoHappy to see this! :) Hope I find time to contribute :)
- deleted 7mo ago[deleted]
- deleted 7mo ago[deleted]
- cranberryturkey 7mo agoI started doing all my projects as open source from the beginning The problem isn’t “well then they won’t pay” there tons of coders and open source users who would gladly save time and energy with paid hosted version this is what I offer potential customers that’s not even the hard part the hard part is and always will be marketing and sales and distribution
- IshKebab 7mo agoI'm surprised Android has an API for one app to block notifications from other apps. I guess enjoy it while it lasts.
- manarth 7mo agoThe NotificationListenerService. It has genuine use-cases such as this DoNotNotify app, but could easily be misused - e.g. malware intercepting a wallet OTP notification and forwarding it to the attacker. Access to the API is controlled by a specific permission which users have to explicitly enable in "Special app access". https://developer.android.com/reference/android/service/notification/NotificationListenerService https://developer.android.com/reference/android/service/noti...
- niobe 7mo agoReal risk of them blocking or crippling it at some point. They've nerfed a lot of useful things over time, Wi-Fi scanning being one good example.
- berkes 7mo agoAnother legitimate use case are e.g. Event Reminder, which intercept my calendar notifications and turn them into full screen alarms. My distracted ADHD brain misses event notifications just too often, but with this app, even I my phone is in another room, I get reminded of that meeting, in time.
- wundersam 7mo agoAppreciate the transparency about the AI-assisted development. Your concerns about code quality are valid, but you're overthinking it. We've all shipped worse code that we wrote ourselves.The real win here is that you listened to feedback and made it verifiable. That's what the privacy-conscious Android community needed. The fact that it already works well in production is a bonus.
- nextlevelwizard 7mo agoWhy does Android need this? Does the OS not let you control notifications?
- niobe 7mo agoI assume this allows more granularity. Many apps avoid you blocking their marketing by not using the notification categories system. It's all or nothing. This app would presumably allow me to differentiate between the two if it can't be done with notification categories.
- manarth 7mo agoAndroid does, at the level of "Allow notifications from app X" and "Block notifications from app X". DoNotNotify gives granularity and rules (which a specific app may have chosen not to implement). For example: "Allow <budget airline app X> to display notifications of gate changes" "Block <budget airline app X> from displaying advertising notifications"
- gschizas 7mo agoAndroid 15/16 does allow you to control notifications even lower, at the level of notification category, but indeed the app must have chosen to use them.
- wolvoleo 7mo agoYeah the problem is a lot of apps dump their ads in the wrong category if they even use categories :(
- tgsovlerkhgsel 7mo agoMost apps that are in need of notification control either: a) bundle everything in one category, from critical notifications without which the app can't fulfill its purpose to "HEY YOU HAVEN'T USED ME IN A DAY, USE ME NOW" spam b) create a new category for spam every time they feel enough users have turned off the previous one, which is often
- nerdsniper 7mo agoVery proud of you for doing this! I think attitudes around vibe-coded software have been changing a lot over those past two months. Not just on a single axis of "accepted" vs. "rejected" but evolving along many axes. Thank you for helping Android users customize their digital environment.
- baxuz 7mo agoHow does it compare to https://galaxystore.samsung.com/detail/com.samsung.systemui.notilus?langCd=en https://galaxystore.samsung.com/detail/com.samsung.systemui....?
- plz_throw 7mo ago... Is this for real, like do you really not see the difference? Not tryingto be snarky or sth, just struggle to comprehend this. You compare apples to oranges here. From a short look at the provided link, i guess it doesn'tcompare at all because it's something completely different? Link you provided seems to be Samsung or OneUI only, integrated with Good Lock. This seems to collect and present notifications together with the ability to search. Does not seem to be open source. DoNotNotify allows you to restrict apps to only sending you certain kinds of notifications. They could supplement each other but you can't compare them as far as i'm concerned.
- g947o 7mo agoI think that would have been an excellent answer if it didn't come with the first two paragraphs. I couldn't tell the difference at a glance without being familiar with both apps.
- plz_throw 7mo agoAs is said, not trying to rude or sarcastic or anything. I do not use any of the apps and just had a short look at the respective pages to see what they are. Both clearly state the repsective apps purpose, both have images of the apps. I thought it was (in both cases) pretty clear what the respexctive app is and what not.
- nasretdinov 7mo agoEver since iOS introduced "reduce interruptions" mode I've been using it ever since and it's really great. It's not as customisable as this app, but I still highly recommend anything like this for those who're tired of notifications spam
- systemz 7mo agoI would pay a lot to have this on iPhone as I'm distracted easily due to my ADHD. iOS doesn't have as granular notification configuration as Android (topics?) plus Apple probably wouldn't agree to funnel all notification through 3rd party app.
- robertlagrant 7mo agoThis is what drove me to uninstall Facebook, twitter, etc. I use their websites if I occasionally want to visit. I don't want notifications hooking me into my phone.
- manarth 7mo agoYou're right - the app sandbox model in iOS prevents inter-app communication of notifications, and there is no iOS equivalent to the Android ListenerNotificationService API.
- kilroy123 7mo agoFor me the biggest pain was email. I created a free and open source set of filters to fix this. Soooo much better. https://unfuck.email https://unfuck.email
- systemz 7mo agoThis addresses email notifications only. There is a lot of apps that would send you notifications that you want to see like your hardware needs attention but also sends some useless promo notifications
- bartread 7mo agoI’m not an Android user, but props to you for taking the feedback onboard and doing this, Anuj. Lot of respect for you. In an era of eroded privacy, intrusive notifications, and enshittification you’ve done a genuinely positive and helpful thing to allow ordinary users to fight back. And, yes, some people will criticise code quality but (a) if those people aren’t actively contributing to the product then you should ignore them, and (b) I suspect the complainers will largely be drowned out by the many who will support your decision. You certainly aren’t the only highly experienced engineer vibe-coding their way through a problem - I’m leaning very heavily on Claude, and somewhat on ChatGPT, at the startup I’m working on at the moment. Thank you, Anuj!
- awaaz 7mo agoYou're very kind, thank you!
- mentalgear 7mo agoKudos on open-sourcing!
- blks 7mo ago[flagged]
- mexicocitinluez 7mo agoAhh yes, the shame that comes with using tools that can help you accomplish your tasks and build software for others to use.
- berkes 7mo agoWhat about the shame for publicly criticizing someone who put their software out there? Where was the instinct that held you back to reply is such a confrontational way?
- storm1er 7mo agoI would gladly pay a dollar in the official store to get this app, even knowing it can be downloaded for free from GitHub
- dhruv3006 7mo agoGreat step!
- baxuz 7mo agoHow do you add rules to the app?
- awaaz 7mo agoThe starting point is a notification from an app that you want to create a rule for. So you wait for a notification, then click on it in the "History" tab, and then you can configure the rest from there. It's slightly non-intuitive, but the reason for that flow is that the app needs the package name of the app, which almost nobody will know.
- pndy 7mo agoDoes this by any chance works against built-in applications that don't allow you to disable notifications? Last week I was configuring Samsung for my mother and it constantly nags her with notification for setting up Samsung account (that's not the worst offender tho) and frankly that would really help here.
- awaaz 7mo agoIt should be able to, unless they are using Live Update [0] notifications. [0] https://developer.android.com/develop/ui/views/notifications/live-update https://developer.android.com/develop/ui/views/notifications...
- Quarrel 7mo agoGood for you. FWIW, I suspect there isn't a single programmer you admire that hasn't looked back on moments in their career and cringed at some of their own code. In some ways, I think it is the hurdle that Linus overcame as an undergraduate that I admire the most. Just putting it out there. This is code. Look at it. It might not amount to anything, but who dares wins.
- awakenusa 7mo ago[flagged]
- the_harpia_io 7mo ago[flagged]
- hnarn 7mo ago"First we write the bad code, then we write the good code." Your concerns are valid but not unique to AI generated code, the same feeling has existed for as long as open source software has existed: is my code good enough, will I just look stupid when people suggest oversights and mistakes? The fact of the matter is that if you have created software that solves an actual issue, especially if that issue was previously unsolved, you have created something valuable. Making it open source only means that the code is now open to contribution, forks, or other modifications by anyone using it. The performative idea of open source software being a part of your resume and written only to increase your personal brand is a perversion of what the open source movement originally was about. It's about learning, and you learn by making mistakes, regardless of whether your bad code was written completely from your own brain or from the suggestion of an LLM. Don't ever be afraid to open source your code, nobody has any right to expect anything from you, and if they do they are just too stupid to understand that free and open code is always a gift, regardless of how bad it is, if it solves a problem for real people.
- defenestrated 7mo agoI use FilterBox and Buzzkill. FilterBox does seem to be superior with an inbuilt offline ML model to filter spam notifications, whilst also having a robust set of heuristic filtering options. It's also amongst the snazziest apps to use with a design that delights. Best lifetime IAP I made 7+years ago. FilterBox: https://filterbox.catchingnow.com/ https://filterbox.catchingnow.com/ Comparison post: https://www.reddit.com/r/androidapps/comments/hsq7ep/buzzkill_v_filterbox_v_daywise/ https://www.reddit.com/r/androidapps/comments/hsq7ep/buzzkil...
- imcritic 7mo agoIt's chinky and not opensource.
- patwolf 7mo agoI found that writing rules was tricky when I didn't know exactly what content would be in a spam/promo notification. I ended up having claude code up a filter that asks an AI to review the notification first, which seems to be working well. Thanks for making it open source. I've been wanting something like that for a while, but I'd been putting it off since I didn't want to learn the underpinnings of the notification service.