A look back at what I like, and dislike about my most popular project being a terminal speed reader.
Breaking down relative success.
Shirah reader is a terminal reader I wrote in 2020 when I was at the peak of my RSVP speed reading phase. I really wanted a speed reading tool that I could use on my computer to read ebooks; unfortunately, the best I could find was some terminal readers. This is when I decided to write my own tool based on my needs, and figured someone else also may find it useful.
First, here is an introduction to what I made. I have reproduced a portion of the README file in my repository:
Shirah
A curses-based terminal RSVP speed reader.
Note: Poor colour representation in gif, looks way better irl.
What is an RSVP reader?
RSVP stands for Rapid Serial Visual presentiation
Its a controversial method to enable speedreading. I have been using this on my devices, and it has given me great results. I wanted to have an option to do this in the terminal too.
Ignore the haters, and try it for yourself. Also, I don’t like that the best options on a computer are paid softwares.
At the time of me writing this, my project has 129 stars, making it by far my most popular side project.
This, in my eyes, was a pretty huge success for me because it helped me achieve one of my personal OKRs for last quarter:
Screencap of my public personal OKRs at work
Having dabbled in lots of side projects in the past with none having gained more than 10-15 stars, I learnt a lot about what kind of projects do really get stars. So, here I have outlined my theory for GitHub stars based on my $\text{sample size}$ of $n=1$
- People love end-user projects. It has a low barrier to adoption. Nobody has the time to install and try out your low-level memory management library.
- Gifs are everything.
- Hit a niche that can be easily understood by lay-people.
- Promote fancy gif on Reddit.
- People like the idea of a technical project, as opposed to a real technical implementation. It’s all aesthetics. This is why “awesome lists” have so many stars.
Almost overnight, I had 100+ stars on my repository because it met a lot of these guidelines, and got picked up by the folks at r/linux and r/commandline for a total of over 900 upvotes. I doubt many people really use my utility. Even I don’t RSVP speed-read anymore.
The fortunes of being undiscovered
In the grand scheme of things, 130 odd stars is not a big deal. And I am glad this didn’t blow up too much. Personally, between 100 and 300 stars is the sweet spot for this kind of a project. I am quite happy with how this little side project turned out and the general reception towards it, but on the whole, this is far from my best work. Here are some reasons I don’t like this project:
- I didn’t write most of it. I merely extended and repackaged another project. I did however credit the original author, who was nice enough to approve of my work. So what I have written amounts to an elaborate plugin, as opposed to a 0-1 project.
- Its a fairly non-technical project. For the most part, its run of the mill curses programming. I didn’t get to flex any technical expertise here.
- The interface for speed reading is piss poor. It’s confusing and counter-intuitive to most people. I didn’t put much thought into it, since I figured I’d be the only one using it.
- I made this in one evening on a weekend. I have spent way more time on my other projects.
Becoming famous
For the past 5+ months, I have been constantly putting out my work. This was in the form of my (short-lived) newletter, book reviews, articles and side projects. I realise that at any point, there always is the chance that some of my content may blow up. Shirah is probably the closest I have come to blowing up in the past 5 months. It’s far from blowing up, but its close enough for me to make me think about the implications of such a scenario.
Think about it like this, Da Vinci will always be the “Mona Lisa” person. Cal Newport will always be the “Deep Work” person. Seinfeld will always be the “Seinfeld” person. JK Rowling will always be the “Harry Potter” person.
I doubt any of these people got to choose “X”, in their “X” person explicitly. It just happened, and now they are stuck with it forever. Jani Lane was a famous musician who tragically died of alcoholism. He got very popular for his single “Cherry Pie”, a song that the label executives asked him to compose last moment as something “single-worthy” for his album. He considered it as one of his inferior works and was famously quoted saying
“hate that song … my legacy is “Cherry Pie” … I could shoot myself in the head for writing that song,”
He did later disown that statement, saying the interviewer caught him on a bad day and that he is actually glad that he wrote the song 1.
While I am glad Jani changed his mind on his legacy, there must be so many other people who would be unhappy about it. I don’t want to be unhappy about blowing up for something that I didn’t expect to blow up. The way I think about everything I put out has changed a little, knowing this could happen at any moment. My work hasn’t changed much in terms of what I put out but I think a little more about the implications of what I put out going viral. And as optimistic as it sounds, if I ever blow up, I want to be prepared for its implications.