Leica Florian Robert

Occupation: Web & Mobile Developer

This is an experiment: the site as it would have looked in the '90s. To see the real one, press the button at the bottom of the page.


<< Back to projects

NoSponsor — case study

Role: Concept and development. Year: 2026.

Website: chromewebstore.google.com

A Chrome extension, published on the Chrome Web Store, that finds sponsored content and highlights it, collapses it into a clickable bar or hides it: on Google, Amazon, Subito.it and eBay, and generically on every other site. On YouTube it covers video ads.

You are viewing this case study with the Legacy engine. To see it as it was designed, enable native rendering below.

Sponsored, but hard to see

On many sites sponsored content is mixed in with the rest, and it doesn't always stand out. NoSponsor finds it and lets you choose what to do with it: highlight it, collapse it into a clickable bar or hide it.

There are dedicated detectors for Google, Amazon, Subito.it and eBay. On other sites a generic detection, which can be turned off, relies on labels like "Sponsored" or "Advertisement" and on standard ad slots.

Finding without breaking

  • Nothing is removed: the extension marks elements with a class and CSS does the rest, so React or Vue pages don't break and switching mode is instant.
  • Three strategies: known selectors, text labels traced up to their card and, on sites that obfuscate, the text actually visible, rebuilt in on-screen order.
  • A MutationObserver covers infinite scroll and content loaded later.
  • Every element found carries the rule that found it, to spot false positives right away.
  • A per-tab counter on the icon, and a popup to choose the mode and turn it on site by site.

A veil over video ads

On YouTube, when an ad starts, NoSponsor puts a veil over it: the video goes black, the sound is muted and it plays at 16x, the highest speed the browser allows. A 30-second ad lasts about two seconds, with the time left shown at the top.

When the ad ends everything is back as it was: the sound, and the speed you were watching at. A mute set by the viewer stays, and sound turned back on by hand during the ad isn't taken away.

From prototype to store

  • Rewritten in TypeScript on WXT, with unit and end-to-end tests checked against the first version, and CI.
  • In Italian or English, following the browser's language.
  • Published on the Chrome Web Store, with a link in the popup to report a missed sponsor.

On real pages


Best viewed with Netscape Navigator 4.0 — 800×600

Privacy Policy