One month ago, I started building Subma in public and, I've documented it on Twitter.
I wanted to share with you 3 lessons I've learned during my journey as a new developer.
Before going further, what's Subma? Subma is a social media management tool aims to help marketer build a more collaborative social media marketing workforce and, boost their team productivity with a wide range of apps integration.
Here is a 2mins video demo of subma
Youtube - Product Demo - Subma BETA (MVP) demo
The problem: The problem was that Each minute, I needed to check each scheduled social media post, and if the post scheduled date arrived, posted on the dedicated social media.
I've discovered only lately that using Vercel for apps that perform heavy background jobs is not the best choice. Since the Vercel platform is event-driven, therefore not maintaining a running server and at 90% from finishing my MVP, it's become challenging for me to break down my ugly code into smaller pieces to ensure they are running under the 30-second timeout limit.
How I solved that? Thanks to Jeff. I've decided to learn Amazon lambda; So I've coupled AWS lambda with CloudWatch instead of the API gateway, which applies a timeout of 30 seconds to lambada.
CloudWatch will trigger my lambada function every minute without any timeout applied.
I only know mongo DB. Before starting working with Subma, I've decided to do a one-month run to an MVP. I've written down my weakness and my superpower. While I'm good on the front, I'm not that excellent in the back. I needed something to handle all this part, and I found @supabase_io
, and all I can say is that Supabase is magic.
The same logic applied to NextJs. First time using it, and I did not want to go back to react.
I'm entirely new to these things. I tried at the beginning to build everything by myself. For example, I tried to build a script that performs an URL image download and convert it into a base64. I've done it, but I faced a real performance issue, and before I've noticed it, I wasted three days in my planning.
How I solved it? I found a very lightweight Node Js library image-to-base64. Implementation took me 10 min or less (Saying that I was telling my friend that I knew how to code)
That's it for my first post. Hope to get all your support 🙏🙏.
Try Subma for free and tell me what you think.