February 2022 updates – 6 months milestone
Hello everyone! It’s me again – Tony 👋
Time flies! February 2022 marks the 6 months milestone of me going indie hacking full time! 🥳
In this issue, I’ll share my regular updates from February and some thoughts on the first 6 months of my journey.
Firstly, a recap of February 2022.
Earlier in December 2021, Twitter reached out to me about Black Magic.
And no, it wasn’t an acquisition offer. 😂
They are working on an experiment with Twitter products and wanted to feature Black Magic in their “app store”.
I’m super honored to be on their radar. Two months later, Twitter finally announced Twitter Toolbox.
Lots of familiar logos in there!
Twitter hasn’t pushed this idea very hard, as they are still experimenting. The only way to access the page, for now, is via this link: https://developer.twitter.com/en/community/toolbox
I’m excited to see where this will go. The experiment has brought in 88 new sign-ups so far!
I worked on Black Magic
With that in place, Black Magic is now available on all major platforms:
Chrome Extension (which also runs on Brave and Edge)
Safari Extension (on Mac, iPad, and iPhone)
iOS standalone app
Android standalone app
How can I afford to, and why do I try so hard to build the app for so many platforms?
The answer is rather disappointing: I didn’t have to try “that hard”.
Most of the codes are reusable. The main app is the sidebar Chrome extension written in React. The rest of the platforms use web view and iframe with some small custom logic to handle platform-specific requirements.
And because the UI for the sidebar is narrow and compact (400px), it worked well when I bring it to the mobile apps! (with some small UI adjustments).
The mobile apps are not perfect, but at least it allows people to use Black Magic on mobiles, which was previously impossible.
I don’t even have the onboarding for the mobile apps yet, so a lot of people missed out on the most important feature: the share button.
If you are a Black Magic customer and don’t know about it too, watch this video to see what I mean 😄
Some technical stuff
If you are looking to write an extension for multiple browsers, I highly recommend using this boilerplate.
It supports Chrome, Firefox, Edge, Brave, Opera out of the box. Very convenience.
For Safari extension, check out this article. Apple allows you to reuse your Chrome extension with very little code.
Experimenting with paid ads on Twitter
No matter how much time I want to spend on building features, marketing is important.
I experimented with paid ads on Twitter. This tweet gets 687 likes and 64% of those are from promotion traffic, which surprised me!
Go to the tweet above to see some numbers I shared publicly. It’s actually an ongoing thread.
My ideal scenario for this is to run paid ads for my old self-promoted tweets but from the @blackmagic_so account, then get stable inbound traffic and convert some of that to cover the cost of the ads.
If the process results in positive revenue, I’ll keep it run forever. Then, every time I release a new feature, I’ll tweet from my Twitter account, then promote it on Black Magic’s Twitter account. Done!
Hope it will be as easy as it sounds. 😂
I built a small product: EmojiAI.com
I had access to OpenAI’s API some time ago. I used the playground a lot but didn’t have time to actually build any product around it.
It’s a small product, solving a small problem, but it helped me to see the process of building with OpenAI/GPT-3.
Fun fact: I built this product in 1 day!
Design and test GPT-3 prompts using OpenAI’s playground.
Once I’m happy with the prompts, I put the code in a Cloudflare Worker, that’s my entire “backend”.
Create a project with Next.JS for the frontend and call the API.
Register a domain and deploy the frontend using Cloudflare Pages.
And the last step to truly “complete” the project: Add payment.
Also, I need to request OpenAI’s approval of the release of the app to the public. The review process took less than 24 hours, which is very fast!
Give it a try at EmojiAI.com 😁
The launch got 239 votes on Product Hunt and $4.99 sales. It was a fun launch! 😂
However, I ended up not using it as much. The quality of the GPT-3 suggested emojis are not always top-notch, although sometimes it surprised me with some very good suggestions.
According to the user rating, only 33% of the time, they are happy with the suggestions (4 stars and 5 stars rating).
EmojiAI.com suggestions ratings (5 stars is best)
Go give it a try and let me know if it’s any good! 😄 https://emojiai.com
My 6 months of indie hacking so far
I can’t believe my pinned tweet is already 6 months old!
I want to share with you my latest MRR update, but the Paddle’s stats page seems to be stuck since 21st Feb, so this is all I have:
When I quit my job 6 months ago, I was mentally prepared and expecting no revenue for the whole first year. So this is super AMAZING!
I’m super grateful for having your support on Twitter, Product Hunt, and here in this newsletter! ❤️
If you are new to my newsletter, check the previous issues to see my journey (so far).
At this MRR; the one-off revenue from DevUtils.app; and other income sources, I can live comfortably almost anywhere in the world.
Circumstances have not allowed me to travel much this year, but I’ll do it as soon as I can.
I can’t retire yet, but the short-term financial independence allows me to be less stressed about things I don’t enjoy doing (like doing marketing 😂) and spend more time doing what I love.
I love building software and seeing people use it. I’ve been doing it since I know how to program, and now have the freedom to do it again!
My new goal
Having more revenue is nice, but chasing that metric too closely will often lead to some “not-so-good” outcomes (e.g., dark patterns).
From 5K MRR onwards, I want to focus more on building great products, rather than growing fast.
Since I’m an active user of both of my products, I’m pretty sure I’ll benefit a lot from this new goal! 😂 (Also true for all of my existing customers.)
I think it’s more important to keep the existing customer happy than to seek more customers, especially for subscription-based products.
And that's all for now!
Thank you so much for being a part of my journey!
I’ll see you next month with more updates and hopefully some good news!