<?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: NoiseFilter</title>
    <description>The latest articles on DEV Community by NoiseFilter (@noisefilter_2bdc8953eeac0).</description>
    <link>https://dev.to/noisefilter_2bdc8953eeac0</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3990780%2F88eb941a-b02a-4799-8560-9bb1c4747668.png</url>
      <title>DEV Community: NoiseFilter</title>
      <link>https://dev.to/noisefilter_2bdc8953eeac0</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/noisefilter_2bdc8953eeac0"/>
    <language>en</language>
    <item>
      <title>I'm a Solo Developer in Sweden. I Built an AI Chrome Extension to Cut Through Media Bias.</title>
      <dc:creator>NoiseFilter</dc:creator>
      <pubDate>Thu, 18 Jun 2026 11:40:42 +0000</pubDate>
      <link>https://dev.to/noisefilter_2bdc8953eeac0/im-a-solo-developer-in-sweden-i-built-an-ai-chrome-extension-to-cut-through-media-bias-1a8p</link>
      <guid>https://dev.to/noisefilter_2bdc8953eeac0/im-a-solo-developer-in-sweden-i-built-an-ai-chrome-extension-to-cut-through-media-bias-1a8p</guid>
      <description>&lt;p&gt;The world is full of noise. I built NoiseFilter to cut through it.&lt;/p&gt;

&lt;p&gt;News is everywhere, and it's never been harder to know what to trust. Who benefits from this article? Is it pushing an agenda? Where did the story even come from? I built NoiseFilter because people deserve better than headlines designed to manipulate — no rumours stacked on top of rumours, no clickbait dressed up as journalism. Not to think for you, but to give you the tools to think for yourself.&lt;/p&gt;

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

&lt;p&gt;NoiseFilter is a Chrome extension (Manifest V3) that analyzes whatever you're reading with one click. Not just news — it works on research papers, blog posts, and product pages too.&lt;/p&gt;

&lt;p&gt;For each piece of content, it breaks down:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Article type&lt;/strong&gt; — news, opinion, clickbait, PR, research, and more&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Logical gaps&lt;/strong&gt; — unsourced claims, missing evidence&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The bias&lt;/strong&gt; — whose agenda the framing serves&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;What's missing&lt;/strong&gt; — important context left out&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Independent comparison&lt;/strong&gt; — how it stacks up against sources like Reuters, AP, and BBC&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Think of it like a GPS. It gets you where you're going most of the time, but you might still miss a turn. NoiseFilter isn't perfect. It just gives you a clearer picture of what you're actually reading.&lt;/p&gt;

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

&lt;p&gt;Nothing exotic, mostly chosen for speed of shipping as a solo dev:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Frontend&lt;/strong&gt;: vanilla JS, Chrome's side panel API, Manifest V3&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Backend&lt;/strong&gt;: Vercel serverless functions (keeps the AI API key off the client)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI&lt;/strong&gt;: Claude Haiku for the actual analysis&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Payments&lt;/strong&gt;: Lemon Squeezy for subscription handling and license keys&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;i18n&lt;/strong&gt;: Chrome's built-in &lt;code&gt;chrome.i18n&lt;/code&gt; system, 15 languages from day one&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I went with a strict freemium model: 10 free analyses, then a small monthly subscription. No accounts, no tracking, zero data retention by design — partly for GDPR simplicity, partly because it just felt like the right way to build a tool about trust.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I learned shipping this alone
&lt;/h2&gt;

&lt;p&gt;A few things that weren't obvious going in:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Chrome Web Store review is its own skill.&lt;/strong&gt; My first submission got rejected over a missing &lt;code&gt;host_permissions&lt;/code&gt; entry. Small things matter a lot at review time.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Marketing material takes longer than the feature itself.&lt;/strong&gt; Screenshots, store descriptions, SEO-optimized copy — easily as much work as the actual analysis logic.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;New accounts get throttled everywhere.&lt;/strong&gt; Reddit's spam filter and AlternativeTo's submission system both gate brand-new accounts. If you're launching solo, budget time for that.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Saying no to features is a feature.&lt;/strong&gt; I kept every new idea against one filter: does this need a database, time-based monitoring, or historical tracking that a free AI chatbot couldn't already do? If not, it didn't make the cut — at least not yet.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Where it's at
&lt;/h2&gt;

&lt;p&gt;NoiseFilter is live on the Chrome Web Store right now, in 15 languages, with a free tier to try it before paying anything. I'm still early — figuring out distribution, collecting the first real feedback, deciding what to build next (a local analysis history is probably next on the list).&lt;/p&gt;

&lt;p&gt;If you read a lot online and want a second opinion on what you're looking at, I'd genuinely appreciate you trying it and telling me what's wrong with it. That feedback is worth more to me right now than installs.&lt;/p&gt;

&lt;p&gt;Found a bug or have thoughts? I read every message: &lt;a href="mailto:noisefilter.feedback@gmail.com"&gt;noisefilter.feedback@gmail.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🔗 Search "NoiseFilter" on the Chrome Web Store, or find it at getnoisefilter.vercel.app&lt;/p&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>buildinpublic</category>
      <category>javascript</category>
    </item>
  </channel>
</rss>
