A few years ago, software engineer Dara Oladosu created a bot that collects all of the replies, retweets, and quotes of a tweet and sends them to users. It became Quoted Replies and earned him a coveted job offer from Twitter. Last month, Twitter released its own version of this feature and credited Dara with paving the way.
It all started with a URL
I’m the kind of person who browses the internet a lot. Once in a while, I come across websites that can be improved. One can either contact the developers behind them to fix their sites, or build a browser extension that solves it on all websites. I prefer the second option.
The way Twitter is designed, by viewing a unique URL that references the tweet in question, you can see all the replies to that tweet. Someone on my timeline had asked for recommendations, and I replied with a unique URL, so anyone interested could see all the recommendations. When I saw another tweet asking for another set of recommendations, I decided to build a fix.
I had just learned of Twitter’s streaming API then. This is Twitter’s way of sending you notifications when you subscribe to a person or name. Developers use the API to build “listeners,” tools that track mentions of a particular word or phrase. That’s how a lot of companies see complaints about them.
So I added the streaming API, plus certain keywords, the URL of the tweet, and some code in the background to make the browser extension. That became Quoted Replies. It is basically an unintended consequence of how Twitter was designed.
When Jack Dorsey visited Lagos last year, I just had to get into the event. You have to understand that I used to be a huge Twitter user, mostly between 2012 and 2017. When I finished talking about Quoted Replies, Kayvon, Twitter’s product lead, offered me a job on the spot. It is probably the best interview ever.
Sidestepping the spam problem
The bot initially had some issues. It used to tweet out some text with the URL in response to a request, and this would lead to the account being shadow banned. When this happened, the URL in the tweet would not show up.
It took me six months to figure out that if I just removed the additional text and left the link, it would not spam Twitter. Twitter’s native code compresses any link, which incidentally makes each one unique. In July 2019, Quoted Replies made only 281,000 impressions, a metric that shows how many times tweets from that account were seen. But it really took off in September, thanks to the apps that my colleagues Hamza Fetuga and Hafeez Sagaya built. In that month alone, the account had 25.9 million impressions, a 9,217% increase.
One thing that I wanted to do was to build in some anonymity, so in February, I rolled out a new feature for people to send a tweet to @QuotedReplies via direct messages, and the bot would reply with the link. This was a play again on another aspect of Twitter. The basic API has a limit of 2,400 tweets a day, and we were basically near that limit, but by using DMs, we can reduce the amount of tweets the bot makes and reply to people individually.
“Quoted Replies is an entertainment tool”
I was actually happy when Twitter released the native feature that shows retweets with comments. Everyone knew Twitter was going to develop their own feature. I did not get to work on it like I had imagined when they offered me the job. I wasn’t a part of that team at all. I used to wake up to multiple direct messages in my personal account from people asking me what was wrong with the bot when they did not receive a reply. In a way, some responsibility has been taken off my shoulders. I still work full-time in Lagos for Andela, but I have done small, one-off projects for Twitter, like hideunwantedreplies.com, as a contract worker.
Building Quoted Replies changed my perception of the way products should be built if you want users; it should be super simple, and there should be a real need. When people think of user needs, they think only that the product should be a painkiller, but now I think entertainment is right up there. Quoted Replies is an entertainment tool.
Personally, I’m working on a new bot that blocks tweets from accounts that include trending words so that their ads show up when you’re checking out trends. It’s easy to do in code, but I’m still figuring out how to manage the API requests so that the bot doesn’t get flagged. I’ve learnt my lesson there. Maybe it could be a self-hosted package for users in the future.