this is the only X article i've ever written and i would like you to read it https://x.com/i/article/2118547854096527361
the internet is bad but now we can fix it
TL;DR: I made an open-source internet-fixer. It's called TRIF. It's a browser extension that lets you and your coding agent (claude, codex) easily change anything about any website. It's free and Mac users can try the beta now at timsrobot.com
Part 1: Fiefdom
Steve Jobs said people don't know what they want until you show them what they want. He also had great taste, so for him it was probably true.
It's too bad he's dead.
I got really mad about the internet last week.
My men's group and i were talking about our lives, how we have these weird emotional problems. How our relationships feel uncomfortable, how we feel kind of hopeless about the omni-crisis. And we're all fucking addicted to the internet.
I've been trying to stop my device addiction for a long time. It's like being half-awake. i should really be doing things. kinda feel shitty tho. open twitter. scroll scroll scroll. reposted tiktok. AI ad. oh look, my friend! onlyfans girl. someone saying "jeet". angry quote of a screenshot of a reddit post.
"Oh look, my friend!" is what gets you. i'm here because you're here because we're here. i met most of my current friends through twitter, in the great beautiful simcluster happenings of 2019-2022. my mutuals and i stay at each others' places when we travel. Two are funding my art.
i have to dive into the muck to swim with the people i love, and none of us love it. i don't think it's controversial to say that the site used to be better.
So i was getting annoyed about all the forced attention-slop, and then i thought, ok, X still has a following-only, newest-first tab. nice of Elon to keep it, I'll try that.
Except everyone i follow is still in the muck, so they're quote-tweeting muck and reacting to muck and just generally talking about muck. it's like.. muck, once removed.
also X bounces you back to the ForYou page.
So i went to Claude and i said hey can you make me a little web app that opens twitter and just removes the other options? i just want to not see them. and also can you hide all the attention grabbing stuff?
i mean look at this search page
I go on a search page to search for things. It's right there in the name. Credit to google, they mostly understand this.
Anyways, a little Claude magic later and i have my own desktop twitter app called Plain X. It's not an API call or scraper, it just loads actual X like a browser, then it formats it. It now comes packaged as a mod in TRIF btw, but it's called Detox Timeline so i don't get sued.
This is its search page.
My timeline looks like this. Every person is a mutual. i can opt into whatever non-text tweets i feel like, but i often feel like seeing it like this. it's.. calming.
Look, i can't, on a laptop, bring back the magic of the simcluster, and i can't bring back myspace. my browser asks for a page, the company gets to decide what to send across the wires.
But i get to decide what happens when it gets here.
Since the internet became 5 websites it's kind of been a feudalism situation, at least for us mortals who've never heard of a userscript or bookmarklet. There are ad-blockers, but they rely on reliable data markers that mark something as an ad. Have you seen the shit companies pull to get around ad-blockers?
And the trick is that they have a de facto monopoly on code. Like, my machine has to eventually render the element, which means there is always a trace to find out where the element is and a choke point that i control, but you can turn it into a labyrinth that no one can afford to patch on the fly, because coding is hard and coders need money and they mostly work for the companies.
Coding was hard.
Part 2: Extrapolation
So obviously i wanted to share this app with my friends. So.. what, I Signal them a tarball? an unsigned .dmg? I pay the apple developer fee so they don't have to go through a fucking headache? And what happens when X changes its code in like a month, and it breaks?
Also kind of what's the point? If they really want it they can just make their own.
And then I start thinking, this problem is a bit more general than X dot com. Am I going to have 50 custom apps? turn my Mac into a glorified iPhone? Obviously what you really want is to just be on a website, see a thing that sucks, and have somewhere to instantly go "hey, fix it."
WebMods was born.
The idea was: just put Claude Code there in the browser. I already have Claude Code, I don't need some new subscription. I just need to wire it up. Opus 5.5 pretty much one-shots everything you point it at. It's sometimes the wrong solution when you're imprecise, but that's vibecoding. When you know what you want and can say what you want, it's like magic.
I tried to do the Plain X thing on Facebook. It barely works. It keeps hitting loading-rate problems because by the time I filter out everything I don't want to see there's nothing left. Judging from what was there, maybe like 20 of my 1500 friends still post on Facebook. Nothing I can do about that.
Instagram was more successful
Desaturate makes a surprising amount of difference. You don't think about it but bright colours are a real hyperstimulus. YouTubers figured this out a long time ago.
Anyways now my YouTube homepage looks like this
I had to rename WebMods. A guy in Czechia had the same idea and, like me, probably just let Claude name it. It's the obvious name, give or take an S. He has like two downloads and he's doing Freemium with his own AI servers.
So it's TRIF now. Tim's Robot Internet Fixer. You put your robot in it, and it fixes the internet. I like that it's almost a word. like, "i hate that feature too but just trif it". On .npm it's timsrobot because they said trif was confusingly similar to something else.
Craig has a list, and i have this.
Part 3: how it works
Here's what you need to run TRIF.
- A Mac (Linux should work but is not safety-tested, Windows in future)
- Chrome or Firefox (Safari as DIY from github, may have bugs)
- Node JS, 18 or later
- A coding agent
Follow the install instructions and you'll be fine.
I've mostly used it with Claude but it plugs into Codex too. Through Codex it can connect to OpenRouter or do Ollama or LM Studio locally. I haven't extensively tested those, but I did add model-name instructions to the prompt after Kimi and Qwen both kept insisting they were GPT-4. It puts your API keys right into Mac Keychain and doesn't read them, but i will admit the UX of that feels sketchy. Open models are officially labeled experimental.
The mods are just userscripts. They run in your browser on top of the webpage. They're .js files sitting in your ~/.trif folder. It's the same thing Tampermonkey uses, and I'm going to see about adding Tampermonkey support I think, because it would be cool to have people share their scripts easily. We weirdly have almost the same logo. I didn't know that when i made it.
The app is just a UI to connect your agent into the browser so you can talk to it, and also so it can read the webcode and take screenshots to see what it's doing, and then take the scripts it writes and run them. Opus 5.5 one-shotted the core functionality, so it can't be that hard. The architecture document is here and i sure as hell didn't write it.
Read it, or tell your agent to tear apart the code. Tell me what you find. If you want more details, everything is on GitHub.
If you ask in the chat, it can probably tell you all of this itself.
Part 4: Security
Woe to those who build a nifty little app that can do anything.
Opus5.5-High thinks TRIF is well-sandboxed on the Mac side. It can read from your system files for Node and general plumbing stuff, and it can read and write within its home folder. It can't read anything else inside your Users folder. This is accomplished with a combination of Mac permissions and built-in Claude Code / Codex restrictions. I'm most confident about it with Claude.
Me and Opus can't find any holes in the current build, and since 0.2.0 i haven't seen it make a request that my Mac flagged. If yours tries to write or read anything it shouldn't, send me a problem report please
On the other hand, some of you are thinking right now that letting an AI run scripts on your logged-in pages is like the most asking-to-be-hacked thing in the world.
You are not wrong.
Javascript can do anything. That means that right now any mod can post on your page and mess with your settings on any site you've enabled. That's fine when it's a personal coding project, probably not fine for a world where people are sharing mods with each other, or are aware enough of TRIF to launch prompt injections and cross-site-scripting attacks at it.
You might argue that this is precisely the wrong time to be doing all this
Right now TRIF asks for global permissions to access websites. That's probably bad and i'm going to add a site-by-site permissions option. But right now it is sandboxed from the other end. A panel agent can only write mods for the website you're on, and can only open tabs for other pages on that site. If it says "the robot is off", nothing is running on your page.
But it doesn't solve the more general problem that JavaScript can do anything. I'm working on a system for 0.3.0 that will have 3 tiers of mod: Style mods that are read as JSON files and can't execute code, Safe mods that run in a Secure ECMAScript sandbox, and Page mods that are like the mods we have now. 0.3.0 will also work from the security standpoint that your agent might be compromised at all times.
I would appreciate knowing what I'm missing. Send me a message. For now, probably don't run it on sketchy webpages or coinbase.
Part 4: what can you do with it?
I'm still figuring that out. You can do whatever AI-directed Javascript can do, which as it turns out is pretty damn near anything. I'm really not sure how far that goes.
But like, you can do this.
Did you like that end-screen? I did that in TRIF too. You can just ask it to give you UI elements. It's not exactly After Effects but i'm going to keep playing with the concept.
Here's a fun one: I used the paste intercept trick from the boxes to let you watermark the hidden corner of your profile pic with a custom style profile you create on X. If you do, you and I and anyone with styling on get to see each other in a glorious cacaphony of colours.
I was kind of stuck in the "just filter and style annoying websites" frame until i wanted to build a demo for people. So i pointed Claude at the simple webpage we'd thrown together and said "hey make an escalating series of mods to show people what this thing can do. Really go ham." i left it running overnight. We workshopped what it came up with for an annoyingly long time, and it became the current timsrobot.com
The site's demo is a glorious unholy mess. I encourage you to play with it. There's 13 mods and they're all composable. Even just chasing the robot with fireworks is delightful.
It might be a bit CPU-heavy.
But the demo doesn't REALLY get at it. You're just running someone else's code. You've been doing that your whole life.
The real magic is the first time you complain about something to the robot, and then the robot fixes it.
Part 4: The Future
Sometimes I worry about the ecosystem dynamics of this taking off
I have no idea where this goes. After I discovered the Czech WebMod, I actually bothered to look and discovered that everyone is trying to do this. There's a YC-funded start-up called Tweeks. They're closed and you use their AI. I don't think it's a super winning business idea. This isn't really an addictive pursuit unless you get addicted to creation (i do); for basic functionality you kind of just fix what's wrong and then you're done until the site changes.
I sort of presume that Tweeks will enshittify once they have to turn a profit, or Meta will buy them if they become a threat to their business model. but they might be great!
So this is happening with or without me. and the market will adapt, or won't, to AI changing everything. Getty Images is bankrupt. Adobe is reeling. Either X and Amazon and Meta will find ways to fight back and keep our attention, or the entire ad economy might just be finished. They're all in AI anyways, they're probably making bank on both sides of this.
And my p(doom) is like 50%. so.
But in the meantime I get to see my friends again, and i get to make X-Flyer have a bird mode where you collect your mutuals and sing together. And that makes me happy.
This isn't a product, it's just a thing i made because i was sick of seeing people having no power over the online experiences that dominate their lives. I was sick of feeling like a rat being squeezed in a box. Now i don't feel like that.
I'm already spending more of my time doing shit like bird mode than on actually building the app. i'm not a dev, and I don't particularly want to be a dev. this is an ADHD hyperfixation project and i might not keep building it for very long.
It's nice that when the mods break it's just another thing to point TRIF at and say "fix that." And if TRIF breaks you yourself can point Claude at it. The code is right there. Tell me if you do, you're probably better at this than me.
Copy the repo. Add a ton of features, close it up, see if people will pay for it. Beat me to the Windows release. Call it Bill's Clanker Web Mender if you like. I don't mind.
Or message me and say "hey this seems really cool and i wanna help build it" and we can talk.
TRIF 0.2.5 is out now. timsrobot.com
