A calm, text-first YouTube.
Dumbify is a Chrome extension that reads YouTube’s real data and renders it as a plain, readable list — no thumbnails, no autoplay, no recommendation rabbit holes. It sits on top of youtube.com, not a separate site: you stay signed in, subscriptions/history/comments all still work, you just stop getting yelled at by the UI.
YouTube’s UI is built to maximize watch time, not help you find or finish a video. Dumbify strips it back to what a feed actually is: a list of titles, channels, and durations you can scan and pick from.
F for a full-screen, chrome-free playerCmd/Ctrl+K to search, F for focus modeDumbify doesn’t scrape the rendered page or replace YouTube’s backend. On page load it reads the same ytInitialData / ytInitialPlayerResponse JSON YouTube itself uses to render, and the same InnerTube API YouTube’s own frontend calls for pagination, subscribing, and posting comments. Everything you can do in Dumbify hits YouTube’s real endpoints with your real session — there’s no shadow account, no separate write path, and no data leaves your browser.
npm installnpm run buildchrome://extensions, enable Developer Mode, click Load unpacked, and select the dist/ foldernpm run dev # vite dev, watch mode with HMR
npm run build # production build to dist/ (reload the unpacked extension after)
npm run preview # vite preview
npx tsc --noEmit # typecheck
npx tsc -p tsconfig.node.json --noEmit # typecheck vite.config.ts + manifest.ts, if changed
After any change: npm run build, then reload the extension from chrome://extensions and check the console for [Dumbify]-prefixed errors.
TypeScript + Vite (via @crxjs/vite-plugin), Manifest V3, hand-written CSS. No UI framework, no runtime dependencies — plain DOM.
src/
content.ts content script entry — routes pages to features
background.ts service worker — page-context data bridging
core/ DataExtractor, FeatureManager, PageManager, UIEngine, storage
features/
shell.ts top bar, search, sidebar (always active)
home-feed.ts home / search / channel / history / subscriptions / watch later / playlists
watch-page.ts video player, info, comments
options/, popup/ settings UI
See CLAUDE.md for the full architecture and data-extraction notes.
GPL-3.0 — see LICENSE.