Hey, listen!
Last November I built and launched an app.
I wasted time overengineering a solution.
It made $141 in 8 months.
We’re driving to Galicia for a one-week vacation on the beach. Writing this newsletter from the car 😎
Sedentarism can be good
In November 2023 OpenAI launched the Vision technology. It allowed to send images to ChatGPT and ask anything about the them.
One day while I was binging Twitter (as usual) on the couch, I saw a cool tweet from a guy. He had launched in record time a web app for captioning photos using the brand new Vision technology.
It looks like a lot of my app ideas came up while being on the couch: InstaCaption, WrapFast, Marvin… 😅
I tried the app and got shocked about how awesome the Vision technology was. I instantly though:
💡This can be perfectly an iOS app!
Impulsive decisions
Without thinking too much, I jumped right into building the app.
I decided to share all the process everyday on Twitter, so it was my first experience totally building in public.
Marc Lou just had launched ShipFast⚡️ the month before, so I also was hyped with that philosophy.
At the beginning my goal was launching it in 3 days.
Problems
This was my first time building an AI wrapper, so I didn’t know anything about using OpenAI’s API.
It was pretty common that developers made the API calls from within the mobile apps, so the key was exposed in a header of the HTTP request.
It turned out that a lot of crackers were stealing OpenAI keys and there were a lot of developers incurring in insane API expenses.
Therefore, I had to code a simple proxy backend with Node.js and Express, to secure my key and made the requests to OpenAI from there.
Funny enough, this was the starting point of what would later become WrapFast: my boilerplate for building AI wrappers — which is now my main source of income.
BUT.
There was another bigger problem: I discovered later that Vision was still in beta, so they only allowed 100 requests per day to the Vision API.
After topping up this rate limit, they would allow you one extra request every hour.
I was fucked 💀
Overengeneering
I was so hyped with this app idea that I thought I was going to go viral and print money like Jordan Belfort.
“I have to think a solution, I’ll have hundreds of daily users!”
The solution: Creating manually multiple accounts.
Thus, with each account, ergo, with each API key, I would have 100 requests per day.
Galaxy brain 🧠
I started creating more OpenAI accounts.
In order to create them you have to verify your phone number by SMS.
My surprise was that, after creating three accounts, I couldn’t create a fourth one.
They had a limit of three accounts per phone number 💀
So what did I do?
Purchasing prepaid SIM cards like a mad man:
I ended up with:
6 new phone numbers
My phone number
My girlfriend’s phone number
24 OpenAI accounts
2400 daily requests to expend daily
Just imagine creating manually 24 OpenAI accounts, setting up the payment method and creating an API key… 24 times! 🤡
In order to distribute the requests among the 24 API keys, I also had to implement an easy algorithm to track which key was being used and rotate them.
And I even thought that 2400 daily was going to be short so…
I also implement in the app a credit system that would limit you to 25 daily requests, refilling the credits after a 24 hours countdown.
The shipping and the sinking
I published the app, announced it on Twitter and started tracking the backend logs and OpenAI dashboard… 🍿
How wrong I was…
I was prepared to have hundreds of users from day one.
Well, I ended up barely having users and with just one OpenAI account would had be more than enough…
The app has made so far $141, $15MRR, 6 subscriptions and 403 downloads… in 8 months! 💀
Funny enough, a week after the launch, OpenAI extended the daily limit up to 500 request.
A lesson learned
At least I learned a super valuable lesson with this product:
Don’t overthink. Don’t overengineer.
This launch was such a flop that my friend Marcos and me have it as a meme.
When we are working in something new and we start overthinking and getting hyped up we say:
Is this another InstaCaption situation?
And the cherry on top was when I received an email from Apple regarding a complaint from Meta, asking to remove any occurrence of the term ‘Insta’ as they have it trademarked.
So I renamed the app from InstaCaption to PhotoCaption.
Yes, again legal problems with a giant social network.
Again, same problem as I had with BeReal. I wrote about it in the very first issue of this newsletter.
I hope this issue helps you to not make the same mistakes I did.
Anyways, solopreneurship is about making many mistakes, learn from them until one day shipping a mistake changes your life.
See you next week ✌🏼
Juanjo
If you are curious you can find PhotoCaption on the App Store here 😙