Bootstrapping a startup, month 2
As I'm building GenerateBanners on my own, I'm making my personal newsletter a monthly update on building the business.
July was about getting started, cleaning the side project code to make it a solid codebase.
August was all about making this project a viable option for users and for me.
If you're using Ghost or Zapier, feel free to sign up! I'll be there to help and improve the product if needed.
A tale of premature optimization
Finding out a major issue
In the beginning of the month, I was really happy with how fast the image rendering was going. I had optimized it so much I had reached sub-second speeds (compared to the standard of 2-3 seconds).
Then I computed the unit economics: when operating with a lot of customers, how much an API call would cost compared to how much I could bill customers.
The result was scary: it would cost me 10 times what I could bill users 😱
Solving the issue
And so I went back to designing the architecture. Instead of focusing on getting the fastest image rendering, I focused on rendering as many images per seconds.
After two weeks of work and several iterations, I reached a much better situation. I was able to run relatively fast requests. To run a lot of them per second. And it was costing less than what I could bill users.
I know people say you can only pick two. But my goal is to build something high quality, fast and cheap. This adventure got me one step closer to reality.
The lesson is that unit economics is key to make the right technical choices. And that premature optimization is dangerous.
- Performance improvement: I've fixed the performance of the API, as described in "A tale of premature optimization". This was a huge investment (two weeks) but was worth it.
- Shareable template: You can now share templates to other users. You can duplicate any shared template to your own library to edit and use them.
- Make.com integration: On top of the Zapier integration, you can now use the Make.com (formerly Integromat) to automate your image generation.
- There were a ton of small fixes and improvements too.
- We got approved by Paddle, our payment provider. One step closer to being able to bill users.
- The previous point needed a Terms and conditions page as well as a pricing page, this is all set-up.
- Monetization is a no-go. I need more user feedback before setting up the billing, this is my priority now.
The plan is still the same:
- Focus on the core feature set and only add features that make creating images easier to use.
- Target Ghost and No-code users.
- Create content to bring attention to GenerateBanner and help users get started.
Thanks to @hdkstr, @ben_cotte and @maximesalomon for the chats that helped me!