Personal software is having a moment. AI lets anyone build a working tool from a sentence. The same trick that turns a prompt into a side-project app can also turn a website you hate into one you do not. You do not need a developer. You need a few minutes, an AI chatbot, and either Tampermonkey (a free browser extension that runs JavaScript snippets on top of any page) or a small custom extension.
The goal here is simple. Pick a site that frustrates you, generate the change you want, and have it apply every time you visit. Local. Reversible. Free.
What you are actually doing
Websites are documents the browser downloads and renders. Two layers matter for our purposes. First, the HTML (the structure) and CSS (the visual rules that say what fonts, colors, and spacing to use). Second, the JavaScript that runs in your browser to add behavior. Any of these can be edited on the way through the browser, before your eyes see them.
Both methods below hook into that pipeline. Tampermonkey runs your JavaScript after the page loads. A custom extension does the same thing but lives as its own installable package. In both cases, the website’s servers never see your changes. You are styling the version of the site that exists in your browser tab.
This is not hacking. The website works normally for everyone else. You just see your own variant.
Method 1: Tampermonkey user scripts
User scripts are short JavaScript programs that run on a page after it loads. With Tampermonkey installed, the script auto-applies every time you visit the matching site.
The recipe that works best in 2026 is this: grab the site’s HTML, paste it into an AI chatbot, and ask for a script that makes the changes you want. ChatGPT, Claude, and Gemini all do this well. Some users prefer a dedicated tool like Cursor or Claude Code that can inspect the site directly through a browser extension, but the paste-the-HTML approach works fine for one-off changes.
Common things people automate this way:
- Strip ads and trackers. Block the script tags that load them or hide the elements they insert.
- Force font size and spacing. Override the CSS your reader-mode extension missed.
- Auto-expand collapsed sections. A few sites love to hide answers behind “read more” buttons.
- Remove sticky headers. Anything that scrolls with you and eats 80 pixels of screen.
- Re-route links. Send outbound links through your preferred reader service or archive.
Tampermonkey itself is free on Chrome, Firefox, Edge, and Safari (the iOS app is paid, but Firefox on iOS gets the free version). Mobile is the awkward case: most mobile browsers do not allow extensions. The Quetta browser on Android and iOS does, which is why it shows up in every mobile Tampermonkey guide. On desktop, install Tampermonkey, pin the icon, click the plus button, paste your script, save, refresh the target site.
A word of warning. AI-generated scripts work most of the time on the first try, but they fail in interesting ways when a site uses shadow DOM (a technique that hides a chunk of the page inside an isolated mini-document the outside script cannot see). If your script silently does nothing, that is the usual cause. Ask the AI to recurse into shadow roots and try again.
Method 2: a custom browser extension
User scripts are fine for tweaks. If you want a real button in the toolbar that toggles something, or you want settings that persist across visits, build an extension. The AI tools now do most of this work for you.
For this guide I asked Claude Code to build an extension that resizes fonts on any page. The output was a folder with a manifest.json (the metadata file Chrome reads to understand what the extension does) and a small content script. Total time: about ten minutes including a couple of debug cycles.
Adding an unpacked extension to Chrome is the part most people miss:
- Open chrome://extensions.
- Toggle Developer mode on (top right).
- Click “Load unpacked” and pick the extension folder.
- Pin the extension from the puzzle-piece menu so it sits in the toolbar.
Reload the page, click the extension icon, change the slider, watch the font size change. Iterate from there. If the extension throws an error, open the browser console (right-click anywhere, “Inspect”, then the Console tab), copy the red text, paste it back into Claude, and ask for a fix. You will get a new version of the same files. Re-load unpacked from the same folder and Chrome replaces it.
Mobile gets you most of the same workflow through Quetta, minus the developer-mode toggle. The extension shows up in Quetta’s menu the same way it does in desktop Chrome.
Method 3: the read-it-later fallback
If you do not want to write any code at all, read-it-later services and reader extensions strip a page down to text and your preferred typography. Pocket, Reader Mode in Firefox, and the Luma Reader extension for Chrome all do this. They do not let you customize the original site, but they do give you a clean version of the article, which is most of what people actually want.
This is the trade-off floor. If a site is so hostile that no amount of CSS override will fix it, and you only consume the content rather than interact with it, a reader extension is the lowest-friction answer.
Trade-offs
These methods share three real costs. First, anything you build is local-only, so it does not sync between devices unless you use Tampermonkey’s sync (paid) or copy the script files yourself. Second, the scripts break when the site changes its CSS class names, which the bigger sites do every quarter or two. The script that worked last month may silently stop working tomorrow, and you will not know until you notice. Third, scripts can leak information about you to the AI service you used to generate them, especially if you paste in private dashboards or logged-in pages. Use a throwaway account for the generation step or strip personal data from the HTML before pasting.
In our case, the Tampermonkey approach has been the most reliable. Extensions are nicer for repeated tasks, but the gap is small unless you want a button. The read-it-later fallback wins on time invested versus payoff for one-off reading.
If you only want to read clean articles, install a reader extension and stop reading. If you have a recurring annoyance on a specific site, spend twenty minutes generating a Tampermonkey script. If you find yourself tweaking three sites regularly, build a real extension.
What I would tell past me
- Start with the AI prompt. Describe what you want changed in plain English before you open the developer tools. You will save an hour.
- Test in incognito first. Incognito disables most extensions, which lets you confirm your script is actually doing something rather than fighting another extension.
- Keep the original script somewhere safe. When the site breaks and you need to update it, you want the source, not just the version sitting in Tampermonkey’s storage.