There are three parts to it. Only the popup is something you see. The other two are quiet.

The popup

popup.html · popup.js

The little window that opens when you click the icon. It holds the toggle, the settings, and the paused-sites list. Open it and it loads your settings. Change something and it saves it.

Toggle on / off open settings manage paused sites
you change something

The storage

chrome.storage.sync

Chrome's built-in store. Every setting (font, spacing, theme, on / off, paused sites) sits here. It's tied to your chrome account, so if you log into chrome on another laptop, you get your same setup.

Hold settings remember paused sites follow you across devices
a page loads

The content script

content.js · content.css

The part that actually changes the page. When a page loads it checks the URL against the skip list first. If the site's on there, it does nothing. If not, it finds the main article and applies whatever's in storage.

Check the skip list find the article apply your settings don't touch anything else

A note on the build

I designed the three parts above, and I wrote the spec for each one — files, tokens, what the skip list does. Claude Code built the actual code from that spec. The product calls are mine. The code I didn't write line by line.