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.

Built a little chrome extension that lets you dim (or hide!) all the crap, mass-produced, fake brands on Amazon.
- Knockoff treats brand names as a credibility problem and uses local heuristics to score suspicious listings instead of relying on a static blacklist.
- Its no-build architecture is part of the product promise, because auditability matters when a browser extension is reading and rewriting a sensitive shopping surface.
- The extension’s most interesting policy choice is nuance, since it separates pseudo-brands from established Chinese brands instead of collapsing both into one bucket.
- Its real value is consumer-side curation, not marketplace reform, which is why the comparison with review-fraud tools and allowlist filters matters.
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.
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.
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
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.
| Category | What it means | What Knockoff does |
|---|---|---|
| Pseudo-brand | Name looks synthetic or disposable | Scores it suspiciously and may hide, dim, or label it |
| Established brand | Recognizable company with a track record | Usually allows it through |
| Chinese-major brand | Recognized Chinese brand with real reputation | Can be treated separately from pseudo-brands |
| Strict mode | User wants a narrow allowlist | Shifts 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.
| Project | Primary signal | Local execution | What it does to the page | Maintenance burden |
|---|---|---|---|---|
| Knockoff | Brand name credibility | Yes | Hides, dims, or labels | Medium, due to heuristics plus community data |
| AmazonBrandFilter | Curated allowlist | Yes | Mostly blocks based on list membership | Higher, because the list does most of the work |
| Amazon Brand Detector | Amazon private labels | Depends on implementation | Highlights or surfaces | Lower for blocking, different editorial goal |
| Fakespot | Review fraud | No, service-based | Adds ratings and warnings | Vendor-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.





