Study Mode: YouTube

My first published project!


Download for Google Chrome (v2.0, current): https://chromewebstore.google.com/detail/study-mode-youtube/hhjnoabnlicjpahfibejifhankpfahnd
Download for Mozilla Firefox (v1.0):   https://addons.mozilla.org/en-US/firefox/addon/study-mode-youtube/


Study Mode: YouTube is a browser extension that allows you to remove the distracting parts of YouTube, especially if you're using it to learn new material or study for a class. Users can customize what they want removed every time they click the extension icon — homepage videos, video sidebar, Shorts, comments, and the notification badge. There's even a custom word-filter you can use to remove all matching video titles and channel names.

I made this after having that exact problem all throughout college, where I would stay up way too late most nights watching random YouTube videos after going on YouTube to learn something for my classes. I realized I could just delete the distracting elements from the web page to make up for my poor self-control, and got tired of doing it constantly. I realized this is probably a function that a browser extension could do, so I started Googling if it was possible to make a browser extension, and how I'd go about it. I was able to prototype basic code that deleted videos from the home page and sidebar within the first night, and spent the free time I had after the semester ended to make this. 5 or so months after initially coming up with the idea, it was published and available for download on Google Chrome and Mozilla Firefox!

I spent 80+ hours on this project in v1.0. Between this being my first time writing code for a browser extension, and one of my first times using JavaScript, it took me awhile. Learning how code gets executed at different points (page render, dynamic content loading, code injection via browser extension), trying to accomplish this all with just HTML, CSS, and vanilla JavaScript, and making a readable UI were all processes that took time. There was a big disconnect between how easy it was to write code into the browser console (my initial prototype) versus an actual interactive extension that gets executed on the web page. It was a more complex than I initially thought (when I was just writing code into the browser's console), and it took plenty of time to make work. Google Chrome and Mozilla Firefox have some differences that makes code not fully compatible with both, so I had to make some minor adjustments there.

v2.0 took another 60+ hours and was a ground-up remake of the whole extension. I was originally just going to update the manifest version from 2.0 -> 3.0 because of Google's forced update that disabled all manifest 2 extensions, but decided to add a few more features to keep up with modern YouTube. Shorts were the newest thing added to YouTube since Study Mode: YouTube v1.0. There were also some minor changes to the way video elements were named and populated over the span of the 5 years of Study Mode: YouTube, so that required updates. The main feature change that I implemented, though, was selected elements automatically being deleted from pages now! Before, you would have to open the extension every time to apply. Now, it uses your browser's local storage to store the changes you want to make to YouTube pages, and will automatically apply them on every page load. It also immediately removes them when you select the option, and should be working even on infinite page scrolls. Infinite page scrolls are a bit tricky to work with (for me, at least), so the features might not be 100% functional. But when I tested them, they worked most of the time!

I made Study Mode: YouTube free and open source (v1.0, but technically all my browser extensions are open-source if you just inspect them) because I really admire open-source software and communities online. So much important software used regularly — both by regular people and by huge companies around the world — is made available by its developers for free! You'll probably recognize this especially if you've spent time in PC gaming communities: free mods, level creation tools, networking software to revive permanently offline games, etc. It's kind of crazy what dedication, passion, and determination can lead to.

This was really cool to make! It was nice knowing that I was able to create something that I found useful, and knew that other students with the same problem could use too. Thank you everyone that's used this, written reviews, and sent thank you emails!