A Browser Extension I Made
"Elon's X feed but without politics"
As a side project this summer, I decided to create a browser extension. It seemed like an interesting task, I didn’t find any existing one that did what I had in mind, and I wanted a project to try out Claude Code. The extension was published on the Chrome Store around ~3 months ago, so now seems like a good point to take stock of this little journey.
Meet Great Filter
The extension implements a simple idea: filter content on social media, such as YouTube or X, based on user criteria in natural language, using an LLM.
Specifically, it uses OpenRouter API with Gemini 2.5 Flash Lite as a default model.
To use the extension, no API key is required, as there is a free tier which runs on with key.1
Currently, the following platforms are supported: YouTube, Reddit, X, HackerNews, and Substack.
Links to extension: Chrome, Firefox2. If you decide to try it out, any feedback would be greatly appreciated!
Observations/takeaways
It feels good to create something that people use. Currently, the Chrome extension has about 30 active weekly users, which is much more than on any of my previous projects. I don’t know what the users are using it for, but I think there is a solid chance that at least some of the users have had a slightly better online experience thanks to GF, which feels rewarding!
Claude Code rocks! One of the reasons to write the extension was to experiment with CC. This was definitely a success, and ever since, I’ve used it as my primary coding agent at work and for other projects. This is probably a good point to mention that I have never previously created a browser extension, most of the code was created by Claude Code, and I definitely wouldn’t be able to do this without AI agents.
Getting feedback is hard. I had trouble getting feedback from the users. I tried adding a widget for review to the extension UI, which didn’t help. I thought that leaving a review under their Google account might be too big an ask, so I added a link to an anonymous Google Form, but this also didn’t help. But I get it — I don’t know when was the last time I reviewed an extension or an app ;D
Some analytics would be helpful. This is related to the previous point. Initially, I didn’t add any user analytics because a) I didn’t want to keep the code simple, and b) I don’t like when extensions collect data about me. But as a result, I’m mostly in the dark about how the people use the extension! It would really help me to see e.g. how many people use their own API key or on which websites do they use it the most. Currently, my only insight into usage is the OpenRouter dashboard, which displays the activity (only token counts, not prompts) of requests made through my API key.
Looking back, I would probably add some minimal, anonymized analytics from the start. I’m afraid it would have to be opt-out, because otherwise people would just ignore it, just like they ignored the feedback forms (…and again, I usually default to not opting in to these things, too).
Not a flop, not a hit. As I said, having 30 users is really cool. On the other hand, I expected a bimodal outcome — I thought that the most likely result was that nobody would actually use it, but I assigned a small probability to the extension blowing up, becoming popular, e.g., on X, with much steeper user growth. The actual outcome doesn’t fit any of these scenarios! So it doesn’t give me a clear signal on whether this is something people really want or not.
I probably still think that the idea has bigger potential. For example, this tweet by Tesla’s AI lead has 10,000 likes and has been retweeted by Elon:
Or this video, where someone created something very similar. But there’s no Chrome extension, only source code you can get if you DM the author.

I have also recently found about two similar extensions which seem to do something similar: Doom Blocker and Flowstate. But to be honest, I think GF works better than either of those (while having significantly fewer users.)3
This leads me to…
Marketing is hard. Possibly, I just struggle to tell the right audience about the extension. I tried several avenues — r/chrome_extensions, /r/SideProject, /r/productivity, HN, ProductHunt, LinkedIn, some Substack comments. The most popular post with a ‘block politics on Elon’s profile’ video got 65 upvotes and 24 comments, other ones were much less sucessful.
I think it would be really handy to have an active X account with a couple of followers, but I don’t use that platform.
I also successfully applied for the ‘Featured’ badge on the Chrome Store, which brought a lot of new impressions but not many page views or installs.

I realised I don’t want to make the extension open-source. At some point, I decided to make the extension available on GitHub under the GPL license. One person, Jan Piotrowski, actually created a couple of significant updates to the extension — Firefox support and automated testing. However, after a few days I realised I don’t feel comfortable with this for several reasons.
I didn’t enjoy reviewing the code written/generated by somebody else! I do a lot of this already at work, and what I liked about this project is that I could just code and vibe-code it without much pressure, review process, and merge everything. Reading other people’s code just wasn’t that much fun, and with open PRs I had that nagging feeling that I should review the code quickly.
I also wanted to have control over the features of the extension, as it uses my OpenRouter API key for some number of requests. Lastly, I wanted to keep the option to consider monetizing the extension in the not-too-probable event that I have more free time in the future and the extension becomes more popular.
So after getting permission from Jan4 — for which I’m very grateful, as I am for the upgrades he made! — I took down the extension from GitHub and removed the OSS license. Looking back, I should have spent more time thinking about what making the extension code public means and whether I’m comfortable with it before actually doing it.
Next steps
Currently, I am not actively working on the extension due to other priorities. That said, I keep a TODO list for features I’d eventually like to add when I’ll have more time — as long as there are still people using the extension and I don’t see a clearly superior alternative.
These requests are routed through my server, which stores the key.
On Firefox, one friend reported that the extension is buggy and slow in his browser, and I haven’t debugged this yet, although it works fine in my Firefox browser.
Doom Blocker on YouTube does some filtering, but it doesn’t seem very intelligent, keeping most of the ‘music’ videos still visible. But it does actually remove the videos instead of hiding, which is cool! As for Flowstate, I’m unable to set up the extension because their server appears to be down.
Fortunately, he, too, mostly used the extension to test out an AI agent (Codex), so he didn’t spend too much time on this.






