<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Prosper Ughakpoteni</title>
    <description>The latest articles on DEV Community by Prosper Ughakpoteni (@prosperteni).</description>
    <link>https://dev.to/prosperteni</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3839302%2F90b85bb5-aeef-4c4f-8e25-03253058cebb.jpeg</url>
      <title>DEV Community: Prosper Ughakpoteni</title>
      <link>https://dev.to/prosperteni</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/prosperteni"/>
    <language>en</language>
    <item>
      <title>I built a Chrome extension that mutes YouTube ads automatically — and I need contributors.</title>
      <dc:creator>Prosper Ughakpoteni</dc:creator>
      <pubDate>Mon, 23 Mar 2026 05:19:12 +0000</pubDate>
      <link>https://dev.to/prosperteni/i-built-a-chrome-extension-that-mutes-youtube-ads-automatically-and-i-need-contributors-i4</link>
      <guid>https://dev.to/prosperteni/i-built-a-chrome-extension-that-mutes-youtube-ads-automatically-and-i-need-contributors-i4</guid>
      <description>&lt;p&gt;I'm a 19-year-old AI student studying in China. Like most students, I spend a lot of time on YouTube — lectures, tutorials, background music while I study. And like everyone, I got tired of YouTube ads blasting at full volume right in the middle of a focused session.&lt;/p&gt;

&lt;p&gt;So I built &lt;strong&gt;Quietly&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  What it does
&lt;/h2&gt;

&lt;p&gt;Quietly is a Chrome extension that automatically detects when a YouTube ad is playing and mutes it in real time — then restores your audio the moment the ad ends. No clicking. No manual muting. It just works silently in the background.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Automatically mutes YouTube ads&lt;/li&gt;
&lt;li&gt;Restores audio when the ad ends&lt;/li&gt;
&lt;li&gt;Works across multiple YouTube tabs simultaneously&lt;/li&gt;
&lt;li&gt;Persists ON/OFF state across browser sessions&lt;/li&gt;
&lt;li&gt;Runs entirely client-side — no servers, no data collection&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How it works under the hood
&lt;/h2&gt;

&lt;p&gt;The extension uses DOM monitoring to detect ad state. Every 500ms, &lt;code&gt;content.js&lt;/code&gt; checks for the presence of ad-specific elements in the YouTube player. When an ad is detected, it mutes the tab. When the ad clears, audio is restored.&lt;/p&gt;

&lt;p&gt;The trickiest part was getting the mute/unmute timing right. YouTube's ad transitions aren't instant — there's a window where the ad has technically ended but the player hasn't fully switched back to normal video. Get the timing wrong and you either cut off the first second of the video or let the tail end of the ad play at full volume. It took several iterations of testing to nail the detection logic reliably.&lt;/p&gt;

&lt;h3&gt;
  
  
  Message flow
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;User clicks Enable/Disable in popup
→ popup.js sends message to background.js
→ background.js updates Chrome storage
→ background.js notifies all open YouTube tabs
→ content.js reacts and starts/stops muting
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  The stack
&lt;/h2&gt;

&lt;p&gt;Just vanilla JavaScript, the Chrome Extensions API (Manifest V3), and Chrome storage. No frameworks, no dependencies. The whole thing is lightweight by design.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why I'm open sourcing it
&lt;/h2&gt;

&lt;p&gt;I use this extension every single day on my local machine. It genuinely solves a problem I have. But I'm an AI student, not a frontend specialist — and there are parts of this project that deserve better than what I've built so far.&lt;/p&gt;

&lt;p&gt;Specifically, I'm looking for help with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;UI/popup improvements&lt;/strong&gt; — the popup works but it's minimal. Better design, clearer state feedback, a mute counter&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Better ad detection logic&lt;/strong&gt; — YouTube changes its DOM structure regularly, which can temporarily break detection. Smarter, more resilient selectors would make this much more robust&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Bug fixes&lt;/strong&gt; — there are known edge cases, especially around tab switching and YouTube's single-page navigation&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Get involved
&lt;/h2&gt;

&lt;p&gt;The repo is open and I've already filed issues with &lt;code&gt;good first issue&lt;/code&gt; and &lt;code&gt;help wanted&lt;/code&gt; labels — so if you're also looking to build your open source contributions (like I am), this is a good place to start.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href="https://github.com/Prosperteni/Quietly" rel="noopener noreferrer"&gt;github.com/Prosperteni/Quietly&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you've ever been startled by a loud YouTube ad mid-focus session, you already understand the problem this solves. Come help make it better.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Built by an AI student who just wanted to study in peace.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>chromeextension</category>
      <category>opensource</category>
      <category>javascript</category>
      <category>beginners</category>
    </item>
  </channel>
</rss>
