Blacklist It!: Filtering Extension for r/Popular on Reddit
What I Made
Blacklist It! is my Chrome extension that allows you to build a list of subreddits you don’t want to see on the r/popular page of Reddit.
Why I Made it
I was sick of seeing a lot of the subreddits that were consistently at the top of Reddit. Specifically, ones like r/trashy and others that are often offensive or just gross. I decided to apply my next few weeks learning how to build a Chrome extension and I created exactly what I needed. Although there are other tools that accomplish what I made, most of them are too broad or complex for my needs. After using this extension of a few months I found Reddit useable again. If only I could use it on the Reddit iOS app…
What I learned
I was already familiar with JavaScript from my Latin translate tool project so I felt confident I could figure out how to make this work. The solution I implemented works by going through the elements of the page and recursively looking for strings matching the list of blacklisted subreddits. Then I delete the entire element which results in the post from the subreddit completely disappearing before the user even realizes.
I had a simple, working, version of the project within a day’s work but every time I closed Chrome, all my inputted subreddits disappeared. I then spent the next week trying to get the storage of the data to work the way I wanted. I lost a lot of time trying to implement solutions I found online without understand how they work. Once I sat down and read the documentation I was finally able to do exactly what I wanted.
The last thing I worked on was adding a dark mode. This was mostly for fun and the way I did it was swapping style sheets. I also stored the dark mode state to keep the style the same between launches.
I am still very proud of this project because I feel it was the first time I made something I would use every day to solve a problem. This project’s success was a big boost to my confidence as a developer. I never felt discouraged and I believed in my ability to solve any problems I ran into.