Knockoff: The Browser Extension That Judges Amazon by Its Brand Names

A no-build, local-first filter that scores suspicious listings, separates pseudo-brands from real ones, and turns Amazon search results into something closer to a curated shelf.

8 min read • View on GitHub • More from Shpigford

A wide overhead marketplace conveyor belt is carrying crowded product boxes with chaotic brand names toward a mechanical sorting gate. Some boxes pass through cleanly, while others are diverted into a side chute marked by small tags, showing how the extension treats brand credibility as a filtering problem.
Knockoff does not just hide junk. It tries to sort Amazon’s brand noise into something closer to a trust signal.

Built a little chrome extension that lets you dim (or hide!) all the crap, mass-produced, fake brands on Amazon.

Josh Pigford, Creator · Josh Pigford on X
Key Takeaways

Amazon’s marketplace has a very specific kind of clutter: brands that look manufactured by a committee and named by a random string generator. Knockoff’s bet is that shoppers do not need another review score. They need a faster way to decide whether a brand name itself is worth trusting.

Why Knockoff Exists

The project came out of a familiar irritation. Josh Pigford was trying to buy a specific tool part and kept running into brands that felt fake before he even opened a product page. In that moment, the problem was not price or ratings. It was the brand names themselves, which looked like noise disguised as commerce.

A hedcut-style editorial portrait of Josh Pigford, based on his GitHub avatar, rendered in black ink on white. The portrait supports a quote about building Knockoff as a lightweight tool for filtering fake-looking Amazon brands.

That origin matters because it explains the product’s shape. Knockoff is not trying to be a shopping assistant or a marketplace scanner. It is a browser-side judgment layer that asks one blunt question: does this brand name look real enough to keep reading?

The Real Trick Is Not the Blocklist

A simple allowlist would be easy to understand and easy to game. Knockoff goes further. It combines known-brand data, flagged-brand data, and a heuristic layer that scores unfamiliar names for signs of manufactured weirdness.

Knockoff works by stacking several small judgments into one final decision. That is why it feels less like a blacklist and more like a reputation engine.

A close-up of a brand name being pushed through a phonetic sieve. Raw text on the left becomes signals on the right, including vowel count, consonant clusters, and capitalization patterns, showing that the extension judges shape and texture rather than matching only against a list.
The clever part is linguistic. Knockoff scores names that look manufactured even when they are not yet on a blocklist.

How the Detector Thinks

The detector starts by normalizing text, so accents and odd typography do not evade the rules. A name like Müller is folded into a lower-friction form before anything else happens. That matters because the classifier is not looking for spelling. It is looking for the fingerprint of a credible brand.

function normalize(s) {
  return s.normalize('NFD').replace(/\p{Mn}/gu, '').toLowerCase();
}

function looksSuspicious(name) {
  const n = normalize(name);
  const vowelCount = (n.match(/[aeiou]/g) || []).length;
  const consonantRuns = n.match(/[^aeiou\W]{4,}/g) || [];
  const allCaps = /^[A-Z0-9\s-]+$/.test(name);
  return allCaps || vowelCount < 2 || consonantRuns.length > 0;
}

The real logic is cumulative. A short all-caps string with almost no vowels is one signal. A weird consonant run is another. A known brand list can override the heuristic, and a flagged list can push it the other way. The result is not a binary truth claim. It is a confidence decision.

Why the Extension Feels Trustworthy

I stand to benefit nothing directly economically, it's a nice little tool I wanted to make

Josh Pigford, Creator · 404 Media Interview

The codebase leans hard into that same plainspoken attitude. There is no build step. The extension is plain JavaScript. That choice lowers the burden for contributors, but it also makes the project easier to audit, which is the more important point when software is sitting inside a shopping surface with powerful browser permissions.

Knockoff also keeps most of its intelligence in data files, not framework machinery. Known brands, flagged brands, and the special-case Chinese-major list are separated from the logic that applies them. That is boring in the best possible way. It makes the policy readable.

The Amazon DOM Is the Other Battle

If the detector is the brain, content.js is the hands. Amazon pages are noisy, dynamic, and full of selector churn, so the extension anchors on data-asin and batches updates with a debounce. That is the difference between a filter that feels instant and one that breaks when the page moves.

const TILE_SELECTORS = '[data-asin]';
let updateTimer;

function scheduleUpdate() {
  clearTimeout(updateTimer);
  updateTimer = setTimeout(() => {
    refreshVisibleTiles();
    bumpLifetime();
  }, 800);
}

The implementation detail is the product story here. A shopper does not care that Amazon keeps rearranging the furniture. They care that the extension keeps finding the tiles, keeps filtering, and keeps the browser responsive while they scroll.

The Nuance Behind Chinese-Major

This is the most interesting policy decision in the repo. Knockoff does not treat every Chinese-origin brand as disposable. It separates established brands such as Anker, DJI, and Bambu Lab from the pseudo-brand sludge it is trying to catch. That distinction is not cosmetic. It is the difference between filtering by origin and filtering by reputation.

CategoryWhat it meansWhat Knockoff does
Pseudo-brandName looks synthetic or disposableScores it suspiciously and may hide, dim, or label it
Established brandRecognizable company with a track recordUsually allows it through
Chinese-major brandRecognized Chinese brand with real reputationCan be treated separately from pseudo-brands
Strict modeUser wants a narrow allowlistShifts toward stronger filtering

That nuance is culturally important and technically useful. It avoids turning the extension into a blunt anti-China filter. Instead, it models a more specific complaint: fake-looking brand identity, regardless of geography, with an optional stricter posture for users who want it.

What It Replaces, and What It Doesn’t

Compared with older allowlist tools, Knockoff does more than maintain a static list. Compared with review-fraud products, it targets brand legitimacy rather than star manipulation. And compared with transparency projects like Amazon Brand Detector, it is not trying to expose the marketplace. It is trying to make the shopper’s view quieter.

ProjectPrimary signalLocal executionWhat it does to the pageMaintenance burden
KnockoffBrand name credibilityYesHides, dims, or labelsMedium, due to heuristics plus community data
AmazonBrandFilterCurated allowlistYesMostly blocks based on list membershipHigher, because the list does most of the work
Amazon Brand DetectorAmazon private labelsDepends on implementationHighlights or surfacesLower for blocking, different editorial goal
FakespotReview fraudNo, service-basedAdds ratings and warningsVendor-managed

That is why the category label matters. Knockoff is consumer-side curation. It does not fix the marketplace. It just gives the shopper a sharper filter for one especially annoying class of Amazon noise.