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 [1] https://donotnotify.com/opensource.html [2] https://gitlab.com/fdroid/rfp/-/issues/3569
-- Anuj Jain
Appreciate 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.
the shame around vibe-coded stuff is real but honestly - most of the code out there wouldn't survive scrutiny either, AI-generated or not. the difference is that vibe coding fails in predictable patterns. weirdly verbose error handling that doesn't actually handle the error, auth flows that work great until you send a malformed header, things like that.
for notifications specifically, the risky bits would be: what happens if an app sends a notification payload that's malformed or huge, how do you handle permission checks if the notification system process restarts mid-filtering, and whether the filtering rules can be bypassed by crafting notifications with weird mime types or encoded text.
if you wrote tests for those edge cases (or even just thought through them), you're already ahead of 90% of shipped code, vibe-coded or not. the scrutiny you're worried about is actually healthy - peer review catches stuff automated tools miss.
Good 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.
Very 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.
Ever 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
Why does Android need this? Does the OS not let you control notifications?
I 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/ Comparison post: https://www.reddit.com/r/androidapps/comments/hsq7ep/buzzkil...
I would gladly pay a dollar in the official store to get this app, even knowing it can be downloaded for free from GitHub
I’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!
I 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.
Kudos on open-sourcing!
Happy to see this! :)
Hope I find time to contribute :)
I'm surprised Android has an API for one app to block notifications from other apps. I guess enjoy it while it lasts.
Does 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.
Great step!
How does it compare to https://galaxystore.samsung.com/detail/com.samsung.systemui....?
[flagged]
I 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
"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.