← Back to work
Browser extension · Open source
·2025

CleanWatch — a distraction-free YouTube extension.

CleanWatch is live on the Chrome Web Store and installable on any Chromium browser, shipping regularly through its 1.x line. It removes YouTube's distraction surfaces without replacing the player or collecting a single analytics event — when sync is off, nothing leaves the browser. The codebase is open source under GPL-3.0 on Codeberg, and is structured so it can keep pace with YouTube's frequent DOM changes rather than breaking permanently on the next redesign.

Client
365DevNet · own product
Scale
Manifest V3 · 4 languages · self-hostable sync
Duration
Ongoing — live on the Chrome Web Store
Year
2025
The situation

YouTube is built to keep you watching

YouTube's interface is engineered for one outcome: more watch time. Shorts shelves, autoplaying recommendations, endless related videos and a steady drip of promotional nudges turn a quick, intentional visit into an open-ended scroll. The existing 'cleaner' extensions tended to fall into one of two traps — hiding a couple of elements crudely and breaking on every YouTube redesign, or quietly phoning home with analytics. I wanted something that did the full job, stayed local by default, and could actually be maintained as YouTube's markup keeps shifting.

What we did

One extension, local-first, that does the whole job

CleanWatch is a Manifest V3 extension that removes the distracting and manipulative parts of YouTube while leaving the video you came for intact. Content scripts clean each page with CSS, DOM inspection and mutation observers so it keeps working as YouTube re-renders, while a main-world script handles the parts that need direct player access. Everything is configured from a searchable settings page, a quick-action popup and a stats dashboard — and it all works fully offline, with optional encrypted sync if you want your setup on more than one device.

Strips Shorts shelves and links, algorithmic recommendations, related videos, autoplay browsing and sponsored content — with optional redirect from the Shorts player to the normal player
Feed filtering by minimum view count and members-first content, with a per-channel allowlist for channels you want to keep
Focus controls: daily watch-time limits, break reminders, scheduled on/off hours and a gentle wind-down mode
Playback preferences — forced theater mode, preferred audio language and quality, default playback speed, and optional auto-like past a watched-percentage threshold
Keyword blocking with a right-click 'block this' context menu, plus comment and live-chat scam/spam filtering
Local-first by design: settings and stats live in chrome.storage.local with no telemetry; optional sync replicates only encrypted payloads through a self-hostable Fastify + SQLite API
Localized in English, Dutch, German and French, with accessibility options for reduced motion and readable titles
The result

A maintainable, privacy-respecting YouTube cleanup tool

CleanWatch is live on the Chrome Web Store and installable on any Chromium browser, shipping regularly through its 1.x line. It removes YouTube's distraction surfaces without replacing the player or collecting a single analytics event — when sync is off, nothing leaves the browser. The codebase is open source under GPL-3.0 on Codeberg, and is structured so it can keep pace with YouTube's frequent DOM changes rather than breaking permanently on the next redesign.

Tech & tools
Manifest V3JavaScriptChrome Extensions APIdeclarativeNetRequestFastifySQLiteDockerCodebergGPL-3.0