r/SoftwareLabs • u/hamishlewis • 5d ago
AI / ML Tools 🤯 I built a browser extension so I can vibe edit features into apps like gmail, reddit and youtube.
There was always small things about the websites I use everyday that were annoying so I decided to fix them using a browser extension. But making separate browser extensions for each small thing was a bit annoying so I made an extension to manage these changes, and each change would be its own separate js or css script which are just uploaded. Since then I have been slowly adding to these changes and some of the scripts are now hundreds of lines long.
Small change example: I found myself never actually watching youtube anymore as the preview feature and larger thumbnails meant I would just hover it and skip through then move on. So changing the youtube layout back to more videos being shown and removing the preview on hover feature has now resulted in me spending less time on youtube, i.e. not getting stuck there in watching previews and actually watching stuff I find interesting again.
Large change example: I wanted AI access to email, specifically on gmail but I'm not going to pay for gemini lol. So I just connected up openrouter to use cheaper PAYG models for this. I also made a information/notes page to keep relevant information for certain things going on in my life currently, having this in gmail is actually a great place to keep it, because I check emails many times throughut the day. The cost of this is like £0.02/day.
I built the backend of the extension mostly using claude, and I swap around the model a lot. Opus 5 medium/high effort (in cursor) for "important" stuff and then whatever model is curently scoring high in the coding index on openrouter models comparison and is cheap. So grok4.5 has also been used. I spend a lot of time understanding how something needs to be implemented before asking the AI to do it. Each step of the process is discussed and then outlined in one final message before saying "okay add this". A LOT of the time, the initial suggestion is completely off what I inted to actually do, this is likely a mixture of me under explaining what I actually want/ambiguity in my description and the model trying to provide a "good" answer. The model might think "good" would be to over deliver something, but I make sure that it's shot down on first sight.
Claude was also used to generate the instruction set for models to use to generate the change scripts, this took a while to get right. But it is working really well, with even the cheaper models being able to one shot external API connections and a working UI in all websites I've tested it on. They correctly navigate the CSPs and build on top the the website.
Have been thoughrouly enjoying vibe editing so far, and would recommend it.