How I Built & Grew CoverLetterGPT to 5,000 Users and $200 MRR
Hey, Iām Vinceā¦
Iām a self-taught developer that changed careers during the Covid Pandemic. I did it because I wanted a better career, enjoyed programming, and at the same time, had a keen interest in IndieHacking.
If youāre not aware, IndieHacking is the movement of developers who build potentially profitable side-projects in their spare time. And there are some very successful examples of IndieHackers and āsolopreneursā out there inspiring others, such as levels.io and Marc Lou.
This thought of being able to build my own side-project that could generate profit while I slept was always attractive to me.
So Iām happy to report that Iāve finally done it with my first software-as-a-service (SaaS) app, CoverLetterGPT.xyz, which I launched in March 2023!
Iāll be the first to admit that the results arenāt spectacular, but theyāre still something Iām very proud of:
- over 5,000 registered users
- $203 monthly recurring revenue (MRR)
Below, Iām going to share with you how I built it (yes, itās open-source!), how I marketed and monetized it, along with a bunch of helpful resources to help you build your own profitable side-project.
What the heck is CoverLetterGPT?
CoverLetterGPT.xyz was an idea I got after the OpenAI API was released. Itās an app that allows you to upload a PDF of your CV/resumĆ©, along with the job description youāre applying to, and it will generate and edit unique cover letters for you based on this information.
{% embed https://youtu.be/ZhcFRD9cVrI %}
It also lets you save and manage your cover letters per each job, making it easy to make and apply to multiple jobs without having to keep copy and pasting all your important info into ChatGPT!
Whatās the Tech Stack?
CoverLetterGPT is entirely open-source, so you can check out the code, fork it, learn from it, make your own, submit a PR (Iād love you forever if you did š)ā¦ whatever!
I built it using the Wasp full-stack framework which allowed me to ship it about 10x faster.
Why?
Because Wasp as a framework allows you to describe your appās core features in a main.wasp
config file. Then it continually compiles and āgluesā these features into a React-ExpressJS-Prisma full-stack app for you.
All you have to focus on is writing the client and server-side logic, and Wasp will do the boring stuff for you, like authentication & authorization, server config, email sending, and cron jobs.
BTW, Wasp is open-source and free and you can help the project out a ton by starring the repo on GitHub: https://www.github.com/wasp-lang/wasp š
{% cta https://www.github.com/wasp-lang/wasp %} āļø Thanks For Your Support š {% endcta %}
For the UI, I used Chakra UI, as I always do. I like that itās a component-based UI library. This helps me build UIās a lot faster than I would with Tailwind or vanilla CSS.
For payments, I used Stripe, (Iāll go into the details of monetization below).
The Server and Postgres Database are hosted onĀ https://railway.app, with the client on Netlify.comās free tier.
By the way, If youāre interested in building your own SaaS with almost the same stack as above, I also built a free SaaS template you can use that will save you days of work!
How I Marketed It
My biggest take-away from this whole project was that open-sourcing it was the best way to market it!
This seems counter-intuitive, right? Why would making the code available for anyone to see and copy be good for a business? Youāre basically rolling out a red carpet for competitors, arenāt you?
Well, not quite.
First of all, the number of people who will realistically spend the time and energy launching a direct competitor is low. Also, most people interested in your open-source code want to learn some aspect of it and apply it to their own ideas, not just copy yours directly.
Secondly, and most importantly, the fact that itās open-source makes people a lot more receptive to you talking about it.
When you present something youāve built and give people the opportunity to learn from it, theyāre much more welcoming! As a result, theyāre more likely to upvote it, share it, use it, and recommend it to others.
This is exactly what happened with CoverLetterGPT! As a result of me sharing the open-source code, it get featured on the IndieHackers.com newsletter (>100k subscribers), shared on blogs, and talked about on social media platforms.
And even though itās a small, simple product, I tried launching it on Product Hunt, where it also performed considerably well.
So, all together, these initial efforts combined gave my product a good initial marketing presence. To this day, I havenāt really done much else to market it, except some twitter posts (and this post, if you want to consider it marketing š¤).
How I Monetized It
When I first launched in March 2023, I didnāt really expect anyone to pay for the product, but I wanted to learn how to use Stripe as a payments processor, thinking that the skills might be useful in the future.
So I started simple, and just put a one-time payment link for tips. No paywall, no subscriptions. It was entirely free to use with any tip amount welcome.
To my surprise, tips started coming in, with some as high as $10 dollars!
This encouraged me to force users to login to use the product, and add a paywall after users used up 3 credits.
My initial payment options were:
- $4.95 for a 3 months access
- $2.95 for 10 cover letter generations
That went reasonably well until I implemented the ability for users to use GPT to make finer edits to their generated cover letters. Thatās when I changed my pricing and thatās when better profits started to come in:
- $5.95 / month subscription with GPT-4
- $2.95 / month subscription with GPT-3.5-turbo
Currently, over 90% of my customers choose the more powerful, more expensive plan with GPT-4, even though the 3 trial credits use the GPT-3.5-turbo model.
(I also integrated Bitcoin Lightning payments ā check out the repo if you want to learn how ā but havenāt received any yet.)
Now, with an MRR of ~$203, my monthly profit of course depends on my costs, which are:
- Domain Name: $10/year
- OpenAI bill: ~ $15/month
- Hosting bill: ~ $3/month
Which leaves me at about ~ $183/month in profits š
Future Plans
One of the most surprising aspects about CoverLetterGPT.xyzās success is that, on the surface, the product is very simple. Also, Iāve done very little in the way of SEO marketing, and havenāt continued to market it much at all. The current growth is mostly organic at this point thanks to my initial marketing efforts.
But I still have some plans to make it better:
- buy a better top-level domain (TLD), like CoverLetterGPT.ai
- add more features, like the ability to generate interview questions based on the cover letters
- improve the UX and make it look more āprofessionalā
If you have any other ideas how I could improve it, drop me a comment, message me on twitter/x, or submit a PR to the repo.
Final Words + More Resources
My intention with this article was to help others who might be considering launching their own SaaS product. So I hope thatās been the case here. If you still have any questions, donāt hesitate to ask.
Here are also the most important links from this article along with some further resources that will help in building and marketing your own profitable side-project:
- šØāš»Ā CoverLetterGPT GitHub Repo
- šøĀ Free Full-Stack SaaS Template w/ Google Auth, Stripe, GPT, & instructions in the README!
- āļøĀ Initial CoverLetterGPT Reddit Post
- šŖĀ IndieHackers Feature
- šøĀ Great Video on how to use Stripe CLI & Webhooks
Oh, and if you found these resources useful,Ā donāt forget to support Wasp byĀ starring the repo on GitHub!
{% cta https://www.github.com/wasp-lang/wasp %} āļø Thanks For Your Support š {% endcta %}