A couple of weeks ago, I finally pushed my first side project, clipplayground.co. My motivation was creating a product end to end, so not only taking care of the code, but also to learn a bit of marketing, design, UX, etc. As an engineer with no experience on those areas the idea can sound daunting, but like anything that puts us out of our comfort zone, there are a lot of learnings. These are some of them:
What I built
Clip playground is a simple interface that allows you to test OpenAI’s machine learning model CLIP from the comfort of your browser. The motivation behind it was that there is a lot of potential using CLIP in products out of the box, no training required. It is the closest in the computer vision field to GPT3. However, people turning these technologies into products are usually not the ones comfortable with tweaking some Pytorch scripts and huge models. That’s why I felt that giving the people a simple, ready-to-use UI could help developing new products based on CLIP.
With this goal in mind, I spent ~1 hour per day developing the product, and after a couple of weeks, I had something to show the world! (Read more about how I built it here). But building it was the part I was comfortable with. How about promoting it?
Where to promote a side project
The product is ready, now, where are the people that can be interested? I used these channels, with diverse levels of success:
I have a small following, so I was not expecting a huge reach. Still, this tweet got ~2k impressions and ~400 engagements. Not bad.
CLIP Playground is live! 🎉— Javier Fuentes Alonso (@JavierFnts) February 21, 2021
CLIP Playground is an interface for @OpenAI's CLIP that allows anyone to quickly play with it from their browser.
Go try it out at https://t.co/VuEZIqKbK2. 👈
This is how I built it, all in Python. 🧵👇 pic.twitter.com/Ib82qidyKK
I tried posting in r/MachineLearning but even though I am sort of active in that community, my post triggered a moderation alert. This caused the post not to show up for other users until 10 hours later, when a moderator accepted my submission manually. I still do not understand why this was the case, but it hurt the attention due to how the Reddit algorithm works. It still got ~13 votes. I tried to also crosspost to r/ComputerVision and r/learnMachineLearning but it didn’t work out there either.
I posted in Show HN, but it never really picked up. I got 7 upvotes
I submitted on a Monday at 9.01 am, and a few minutes later I got to the front page. It even reached the top 5 for some time! It stayed on the front page for most of the day, which brought quite a lot of organic votes. It reached 74 votes, which was more than some full-fledged products during that day!
Probably the platform I got the most success. It was also the platform I spent the most time preparing so it was expected.
Streamlit is the tool I used to create the product, so I was hoping I would get some interest from there, but it didn’t attract any attention.
Resources I found useful
- Screely: A really simple and easy way to make the screenshots of your product look good. I used it for the product hunt launch.
- CodeImg: Same idea as screely but for code. I used it for the Twitter thread where I explained how I built it.
- Diagram of product hunt launch: A great overview with all the rules of thumb when launching in Product Hunt
- Photopea: Free simpler version of photoshop in your browser. I used it to create a simple logo and to add text to the screenshots from screely.
- copy.ai: GPT-3 powered copywriting. It helps to brainstorm different ways you can communicate your product. I used it to get ideas for the product hunt description.
What I will do differently next time
- Set up analytics: I thought I could not set up analytics with a Streamlit app but I have recently found this great package that allows you to do so. Seeing from which posts were people coming to the app and how people are using the application would have been really valuable.
- Submit to product hunt ahead of time: Instead of clicking the submit button at 9:01 am, it is better to schedule the post in advance. The reason is that Product Hunt moderators need to accept your product before it can go to the front page. They will also modify the description of your product so that it fits well with their audience. If you do this ahead of time you can go to the front page as soon as you hit the number of upvotes, and both parties can agree on a description beforehand.
- Talk with a moderator at Reddit about the post: The fact that it took hours until it was visible for other users completely killed any possibility to get to the top of the front page. I would try to be sure that your post will be accepted straight away, somehow.
- Post to indie hackers: It seems like a great community full of supportive people. I have recently found it and I am sure you can get nice feedback from there.
- Ping friends for support in other platforms: focusing on Product Hunt was great for the initial kick, but I think I could have reached quite a lot of people in the other platforms too if I would have counted with some initial support.
In conclusion, it was a great experience showing something to the world. By working on all the sides of a product one learns about fields that are not so familiar, which can be challenging but also rewarding.
Remember to follow me on Twitter to get updates for future projects!