Product Hunt Launch: How We Earned Our First Dollars with ChatGPT
Tags: launch, chatgpt, productivity, tutorial
Published: 2023-03-03 11:24:58

Hey there✌️
My name is [Yurii Rebryk](https://twitter.com/yrebryk) and in this article, I will tell you about my experience of building a side-project, how we launched it on Product Hunt, and made our first bucks online.

![Product Hunt Launch](https://user-images.githubusercontent.com/4231665/222707932-7486425d-ee77-4cfe-8ee6-7826cd0e72ce.jpg)

[Cmd J](https://install.cmdj.app/) is a Google Chrome extension that allows you to use ChatGPT on any tab without extra copy-pasting. For instance, when writing a blog post, simply select a paragraph, ask to make it shorter, hit "enter," and voila! You're done.

### Idea
Since ChatGPT became available, I have been using it extensively to accomplish various tasks. For example, I use it to rewrite my emails to sound more natural and to ask questions instead of using Google.

The obvious problem for me was that I need to write a draft of an email, copy and paste it to the chat.openai.com page, write my prompt, receive an answer, and then copy and paste it back. This can be pretty annoying if you have a lot of emails.

Now imagine this: you write an email, press Cmd+J, click “Improve writing” and receive a revised version, press enter — you have a polished, error-free email. Boom! 

Create a Google Chrome extension, which is easy to install and use, similar to Spotlight or Raycast for Mac. This was our plan!

![Writing an email using Cmd J app.](https://user-images.githubusercontent.com/4231665/221335076-29d35cec-881e-456e-b8a8-d9ea8a327f9a.jpeg)

### Development

I am a developer myself, but I was more into backend and Machine Learning. Thus, I decided to collaborate with someone who specializes in front-end development so that we can build the product in a few days.

Fortunately, I have a personal blog on Telegram with several thousand subscribers where I shared an idea. One of my friends, [Daniel](https://twitter.com/daniel_dhawan), liked it, and we started working on the product.

#### Frontend

We spent a few days assembling the first version of the app using JavaScript and the cmdk package, which provides a React component with a beautiful command menu.

As a beginner in JavaScript and React, I was excited to have the chance to learn more while working with more experienced developer.

I was shocked by the chaos that is happening on the web when dealing with user text selections and copy-pasting. There is no universal solution that lets you replace user's text on any website. For example, if you want to make it work with Google Docs, you have to write code that is specific to it.

Moreover, in React, the interface and logic are often closely linked, making it challenging to divide tasks among developers in small projects like that. It is convenient when one developer works on the user interface and the other on the backend. In our situation, the tasks are relatively small and frequently overlap. As a result, resolving conflicts during the merge process can take longer than if one developer had completed all of the tasks alone.

#### Backend

Initially, we didn't have a backend since we were able to call the OpenAI API directly from the client, which avoided introducing any additional latency. 

However, there were a few issues with that approach. Firstly, users had to log in to their OpenAI account often to renew their session. Secondly, ChatGPT would occasionally reach its maximum capacity or users would surpass their request limits.

That's why we decided to introduce paid plans, so users are not required to have an OpenAI account. We set up a Gumroad account to accept payments, and I created the backend using Vercel, which verifies the user's subscription plan and request limits, and then forwards the user's request to Open AI utilizing our API key. 

![Our Gumroad page with paid plans.](https://user-images.githubusercontent.com/4231665/221335288-240d1886-a97c-4e21-8931-08737be90319.jpeg)

### First customers

When we developed the app, I posted a tweet about it. I can't say that the tweet went viral, but we got 10k views on the first day. 

![The first tweet about Cmd J](https://user-images.githubusercontent.com/4231665/222707223-82c096a8-a5cc-4cf9-9213-bcdccee16805.jpeg)

Additionally, I wrote an article about how you can use the app and posted it on [Medium](https://medium.com/better-programming/how-we-built-chatgpt-shortcut-for-the-browser-78574563216a) and a few other communities. That's how we got the first thousand installations.

![We got out first 1,000 users.](https://user-images.githubusercontent.com/4231665/221335387-a54280af-9630-41d6-9e35-b26e23a116b2.jpeg)

Many people began reporting bugs, some of which were critical. No surprise! So we decided to fix these issues before launching the product on Product Hunt.

### Product Hunt

#### Preparation

When that was done, we started preparing for Product Hunt. **We chose Tuesday for our launch because it's a popular day when lots of people visit the website.**

But I need to warn you that Tuesday is a very competitive day. This means it's harder to get the "product of the day" badge. **If you want to get the badge, it's best to launch your product on Friday or the weekend.**

**Pro tip:** if you only care about the "product of the day" badge, launch on weekends.

A few days before the launch, I did the following things:
* Wrote some posts to share on my social media accounts such as Telegram, LinkedIn, and Twitter;
* Asked some of my friends who have their own Telegram channels if they could help me out by sharing my post with their community;
* **Made a list of more than 100 friends who might like our extension and support us on Product Hunt.**

I heard that some teams spend weeks preparing for a product launch. I have no idea what they do. You need to design good-looking visuals in Figma and do what I mentioned above. It typically takes 1-2 days, no more.

**Pro tip:** If you want to get many likes and get a badge, it's a good idea to write an article about your app and ask people to support your launch. Share it on the day your app is released. If your article is helpful to readers, they will likely help you.

Many teams are searching for a hunter to post their product. However, I am not sure that it's worth the effort. I released the product before without a hunter and still got the product of the day. But if you already know a good hunter who can publish your app, why not?

#### Launch

If you want your app to be popular on Product Hunt, **it's really important to launch it at exactly 12:01am Pacific Time and get a few dozen upvotes so that your product can reach the top of the list and attract more organic visitors.**

When the competition started, we quickly got some upvotes and became the top one. I spent the next few hours giving people's comments a thumbs up and responding to them.

**Pro tip:** number of comments is used to determine the overall score of your product, so ask your community to leave a comment if they like it.

But later we became the second. The first and third places had many upvotes but very few comments, which seemed suspicious.  My first thought was that they were buying upvotes. A little later, they also received more comments. But at some point, I noticed that some people were posting comments about their product on our page. What?! Those were bots.

![Fighting against the Product Hunt bots.](https://user-images.githubusercontent.com/4231665/221335500-50eff073-9e04-445b-ba62-2b232112f7f7.jpeg)

Luckily, Product Hunt cleaned that mess up and third place only got about 150 votes, while first place only got 45 upvotes more. Thus, we took the 2nd product of the day with 600 upvotes 🎉 

That was tough. I hate these fucking cheaters.

Need to mention that that day Open AI servers were down, so our app was impossible to use for a while 😬

#### Results

Getting second place is good, but what did we end up with? Let's look at the numbers we got at the end of the day:
1. **Chrome Web Store views:** 3,717;
2. **Plugin installs:** 1,184;
3. **Gumroad page views:** 555;
4. **Paid subscriptions:** only 5.

Need to note that it's not exactly a funnel, because users can get to the Gumroad page directly or from the landing page.

![We had 1,184 installations on launch day.](https://user-images.githubusercontent.com/4231665/221335776-e56c9191-942f-4b4b-82bb-68b3cf8aa2e3.jpeg)

But you don't need to be an expert to notice the low number of purchases. I have three hypotheses why this is so:
1. The app does not have a paywall inside;
2. The free version of our app is good enough;
3. Many people are not familiar with Gumroad and are scared of it.

Perhaps we should direct people to the Chrome Web Store instead of our landing page. Then, using Stripe, we can convert them to paid customers within the app.

![5 paid subscriptions that we sold 🥲](https://user-images.githubusercontent.com/4231665/221336220-6ae14437-314b-48b8-831d-d6f2096fd883.jpeg)

### Summary

Overall, it was a cool experience building a product that I use myself many times a day. And finally, I'm not scared of JavaScript and Node.js anymore!

If you're planning to create your own app, I suggest using Vercel for your backend because it's really user-friendly. I prefer it over Firebase or setting up my own servers because it's much easier to use.

Don't spend too much time on your Product Hunt launch: prepare social media posts and create a large list of friends who may be interested in the app. And don't forget to schedule your launch at exactly 12:01 am Pacific Time. 

Good luck!

---

⬇️ **You can install our app [here](https://install.cmdj.app/).**

👍 **If you like that post, feel free to [follow me on Twitter](https://twitter.com/yrebryk) and [subscribe to my blog](https://rebryk.substack.com/).**