(2023-01-08) Litt For Your Next Side Project Make A Browser Extension

Geoffrey Litt: For your next side project, make a browser extension. In a previous post I’ve written about why browser extensions are an amazing platform for customizing existing software... Today I’ll make that point more concrete by sharing the story of a side project I made...Over the past couple years, I built a browser extension called Twemex.

In this post, I’ll reflect on that experience

Most importantly, I’ll argue that making an extension is a fun and efficient way to create useful software

just find limitations in the software you already use, and patch them yourself.

Beyond these benefits for the developer, extensions can be awesome for end-users too. Instead of needing to switch to a different app, users can smoothly integrate new functionality into their existing experience.

In 2020, I was a pretty heavy Twitter addict user. I got really into a strange style of Twitter usage popularized by @visakanv and @Conaw. They would use Twitter as a sort of note-taking app or memex: weaving intricate webs of ideas, using Twitter’s quote-tweet and linking mechanisms for connecting related thoughts.

platform’s features. One particularly important one was finding old tweets using Twitter’s advanced search

spent a day hacking on a simple little extension to improve the situation

After I used this tool for a few months and occassionally shared screenshots, a few people asked me if they could use it too. I shared the prototype

I added a few widgets that would respond to the active browsing context and passively show interesting context, without any interaction needed from the user. The most exciting one was “Highlights”: a way to see the most-liked tweets from the account currently being viewed

One feature I found ridiculously useful was /follows, which would search tweets from people you follow. This let me treat Twitter as a personal search engine, where I could see opinions from people I trusted about any topic

Now that I had more users, my #1 priority was to “earn the pixels”: that is, to make the extension feel native to Twitter, never cause glitches

It turns out the bar for this is pretty high, because people have strong existing habits and expectations. I had to build my own copy of the Twitter UI for displaying tweets, and align it as closely as possible with the real UI.

Users were growing reliably around 10-15% per month; after a year or two, that had built up to over 20,000 users.

I’m struck by how fun and efficient it was as a project.

Here are three key ways that extensions are nice for a side project:

Easy to find an idea

Easy operations

no servers, and no data storage.

Easy growth

The drawbacks

Platform risk

The Chrome extension platform is flawed

I’m used to building web applications where you can ship an update anytime, especially when something is broken. In contrast, I found that distribution is miserable on the extension platform.

Conclusion

So, if you’re a programmer: the next time you come across an annoying problem on a web app frontend, maybe consider writing a browser extension to make it better, and then share it so that other people can benefit too.


Edited:    |       |    Search Twitter for discussion