As you have maybe noticed the time between my last post about StorePreviewer's first launch in March and this one you are currently reading spans over 8 months. Quite a long time, huh? It is.
I am super excited to announce that StorePreviewer PRO (Version 2.0), my first full-fledged SaaS, soft-launched yesterday 🚀
So why did it take so long to launch? Let me explain 🤓
I initially created StorePreviewer because I was working on some mobile apps and always had this repeating and very annoying problem that there is no way for me to preview how my app’s copy and screenshots will look like on the app store. So I built the first MVP, added this newsletter popup that was disguised as the PRO version signup page and launched on Product Hunt, Hacker News, Reddit and everywhere else. The feedback was amazing, people really seemed to love it and it got featured on Product Hunt as the #5 Product of the day.
People from app-related startups and especially digital agencies reached out to give me feedback and so I was eager to start working on those pro features and launch asap. Around 70 people entered their email addresses and I thought to myself that this could potentially be the first idea I could morph into a SaaS.
At this point, I have not yet realized the amount of work that you have to put into making a SaaS product production-ready. Also, feature creep is real. It really is. The sales and marketing part aside, I am a self-taught developer and have created some frontend applications before but I was completely new to the backend world. Well, let me tell you that building a subscription-based SaaS that allows users to upload images and videos in realtime might not have been the smartest idea to start your backend journey with.
As I found out very early, handling subscriptions is always a PITA, let alone handling EU VAT. Luckily service like Paddle drastically help makers with this problem. That being said it still took ages to get comfortable with the subscription flow, edge cases and their API. A lot of emails were sent back and forth for mostly very basic and important information that I just could not find in their documentation. I then got quite comfortable with the basic authentication flow and CRUD REST operations but struggled with handling images and videos and also was not sure where and how to host it. In addition, I also had to learn about continuous delivery and web security. Oh, and transactional emails of course. Oh, and yeah traditionally servers don't update clients - so WebSockets to the rescue for real-time operations. Oh, and I had the once in a lifetime opportunity to learn about and experience a memory leak - first hand. (Thanks @jnnksbrt for helping me through this 💪)
If you are curious the stack I used is:
💻 Nuxt in the frontend - hosted on Netlify
🎒 Strapi (node.js) in the backend - hosted on Heroku
🖼️ Cloudinary for media hosting
💰 Paddle for handling subscription billing and VAT
📧 Sendgrid for transactional emails
🚫 Sentry for error logging
📝 LogDNA for logging
The more I got comfortable with the backend the more I enjoyed learning more advanced concepts and I am excited to dig even deeper. That being said, can you spot my little issue?
I love solving technical problems. I really do, but as Rob Walling always says - you have to adjust your time to 50% coding and 50% selling/marketing if you want to have a real business. As of now, my main focus was targeted way more towards the coding side. So this is what I have to work on now.
While acquiring all of this knowledge and building StorePreviewer I was simultaneously getting depressed by the cold temperature and darkness of Austria, finishing my bachelor's degree, maintaining my other products, moving to Lisbon, starting my master's degree and balancing uni, StorePreviewer and social life. Incorporating a company and having the opportunity to launch multiple products while still studying should be considered a blessing and one of the best things you can do but it has some rarely mentioned caveats that strongly affected my life and I will definitely write more about this part in the future.
Even though the launch of StorePreviewer Pro took much longer than I have expected, I am super happy that I persevered, managed to get this thing from idea to production. Furthermore, I feel 10x happier here in Lisbon, the weather is great almost throughout the whole year, the next surf spot is 20min away, I already met a bunch of cool digital nomads and even got the chance to become friends with this fairly unknown lama Pieter Levels.
StorePreviewer Pro (2.0) is now launching on storepreviewer.com and I am on the hunt for the first customer. I am very excited about StorePreviewer's future and will keep you updated as the journey continues.