"If you're deceiving people through algorithms, you don't get some type of free pass because you're saying, 'Oh, the machine did it.'" — Lina Khan
A brief description of the project, purpose, and its goals.
This Chrome extension project is to help myself (and possibly others) manage their YouTube watch habits. Completely blocking YouTube entirely often backfires as the user just removes the block whenever they want to use YouTube. The idea for this extension is to allow YouTube but restrict anything that exposes the user to specific triggers and cues that lead them to over-using the site. If those elements are out of sight, it is much easier for users to have a healthy relationship with the site.
Some key principles this extension is built on come from Atomic Habits by James Clear. That book carries a lot of wisdom to developing healthy habits and, most importantly, breaking bad habits. The laws of breaking a bad habit are:
Make It Invisible
Reduce exposure. Remove the cues of your bad habits from your environment.
Make It Unattractive
Reframe your mind-set. Highlight the benefits of avoiding your bad habits.
Make It Difficult
Increase friction. Increase the number of steps between you and your bad habits.
Use a commitment device. Restrict your future choices to the ones that benefit you.
Make It Unsatisfying
Get an accountability partner. Ask someone to watch your behavior.
Create a habit tracker. Make the costs of your bad habits public and painful.
Define the boundaries of your project. What will your project do and what will it not do.
It is a browser extension, built using Chrome API, React, Vite, and vanilla web languages. Whenever Chrome extensions are supported, this application will be able to function. As far as my knowledge goes, Chrome extensions are not usable on the Safari browsers and will require the extension to be redeveloped using Apple’s developer tools (which require a Mac computer).
What should be true after this project is implemented?
The application has a user interface and provides the following options: