📈 Monthly stats
𝕏 (Twitter) followers: 119
Monthly Recurring Revenue (MRR): 0€
Projects launched: 1
Newsletter subscribers: 10
Hey everyone 👋,
January was really busy for me, with a lot going on in my personal life and at work. But today, I'm excited to talk about the release of my new project: Quotell. 🚀
If you followed my adventures on 𝕏, you are probably aware of what Quotell is: a mobile app to create your own unique and inspirational quotes using AI.
Up until now, I usually worked “in the dark”, only sharing my projects after they were done. But I wanted to try something new with Quotell: I chose to build it openly and share the process with the #buildinpublic community on 𝕏. And I don’t regret that decision, I’ve learned a lot from fellow solopreneurs!
💬 A little bit of context
I've worked in the corporate world for many years and there's a lot I don't like about it now. But the biggest problem is not being able to use the tech I'm interested in. There are always new tools and projects coming out, but I wouldn’t be able to try them at work. It was really annoying.
Now that I'm working for myself, I wanted to create a new project with cool tech like ChatGPT, Kotlin Multiplatform and Compose Multiplatform, and add in-app purchases too.
I needed a simple idea so I wouldn't spend too much time just figuring out what to make. That's when I thought of making an app for motivational quotes with AI. It's straightforward, lets me try out these technologies, and I think some people might even like it!
🏆 Goal reached: that’s a win!
Initial estimation to have an MVP: 1 month. Reality: 3 months. 🤯
I didn't expect so many challenges with the new tech. But it's not all bad: I learned a lot and can use most of the code for future projects. Seems like a win to me!
My goal was to release a mobile app to test the new tech in a production environment, which I did!
📲 Quotell is available on Android, you can download it here:
https://play.google.com/store/apps/details?id=com.tweener.quotell
The iOS version will be out in a few weeks. I ran into some problems while making it, so I had to delay its launch on the App Store. I learned a lesson from this, and I'll talk about it later.
🎓 What did I learn from this project?
Going from the initial 1-month estimate to the actual 3 months, you can guess I ran into some unexpected issues:
➡️ Don’t keep your ChatGPT API key on client side
When I began adding ChatGPT to the mobile app, I checked OpenAI's documentation. They suggested using a Kotlin SDK to connect with ChatGPT API easily. The SDK implementation was smooth and straightforward. I was happy. That’s what you expect from a big company like OpenAI.
But then, a few weeks later, I found this video by Ray Fernando, an iOS developer whose ChatGPT API key got leaked, leading to a surprise bill of $2500. How? By calling ChatGPT API directly from his mobile app, which is exactly how I had set mine up.
Luckily, my app wasn't out yet! This meant I had to find a new way to integrate ChatGPT and change the whole implementation. I won’t dive into the technical details here, but I decided to write a Medium article about the solution I used. Because I think it's crucial info for anyone using ChatGPT in their apps, whether on mobile or web.
https://vivienmahe.medium.com/secure-your-chatgpt-api-key-on-mobile-and-avoid-leaks-d5c9ea4c1f84
➡️ Implement both Android and iOS at the same time
Kotlin Multiplatform and Compose Multiplatform let you to build apps targeting different platforms (Android, iOS, web and desktop) with one single code base. This saves you a lot of time during the development phase. But these technologies are pretty new, especially Compose Multiplatform. This means some features might work on one platform but not on others.
Originally, I am an Android developer. So naturally, when I started working on Quotell, it made sense to start with the Android app first, then move on to iOS in a second time. I thought it would just be a matter of a few days for the iOS version to be ready.
But that was a mistake. As I said, some features are not available on iOS yet, requiring code adjustments. It's clear now it won't be a quick fix but will take weeks.
For future projects, I'll avoid this mistake by developing iOS and Android apps simultaneously.
➡️ Decide quickly on a MVP and stick to it
From the start of development to the release, I changed Quotell's MVP three times, adding some features and dropping others. I also updated the design twice until I was happy with it.
Again, so much time wasted here, trying to make everything perfect. I should have focused on finishing the first version and then improving it later. Another lesson learned here: don’t look for perfection right away, it's better to save those improvements for future updates.
🎬 That’s it for today, folks!
I hope you learned as much as I did here. It was my first #buildinpublic project so mistakes were expected. And I’m fine with that. It’s part of the process!
If you liked the content, consider subscribing to make sure you don't miss any future posts!
Until next time, happy creating! 🚀✨
Firstly, thanks for sharing this with us Vivien!
Congrats for your release, I’m waiting the iOS version!
You made « mistakes » but it’s part of the journey, fail to succeed! The most important is to keep in mind the lessons from these fails to grow and do better next time ✨