In my quest to find the ideal platform to host my courses, I have encountered a significant issue. Currently, I rely on a static site that integrates with various no-code tools and custom integrations to handle payments and course signups. This setup, often referred to as JAMstack or serverless, has worked well for me. However, as the number of courses I offer has increased, I am now considering the overall infrastructure I use and whether a centralized platform would be a better fit.
To explore my options, I decided to try out popular services such as Teachable and Podia. These platforms had impressive designs, slick interfaces, and enticing marketing. But as I started using them, I quickly realized what I call “The Developer’s Dilemma.”
Initially, everything seemed great, but soon enough, I encountered frustrations. The platforms lacked certain features or had limitations that didn’t align with my needs. The editor was not as intuitive as I hoped, and I wished I could use markdown. Furthermore, I discovered bugs that made me wonder if I was the only one experiencing them. Reaching out to support often led to vague responses, with promises to escalate the issues to the engineering team but no real solutions. All this wasted valuable time and left me feeling frustrated.
As a self-proclaimed lazy developer, I have learned to resist over-engineering software and embrace simplicity. I believe in writing just the amount of code necessary to get the job done. Over time, I have realized that simplicity allows for flexibility in addressing future needs and problems. In contrast, complex codebases weighed me down and made it harder to adapt.
Being a lazy developer also means I approach software development with caution and responsibility. I understand that every line of code I write becomes my responsibility in the future. If I were to build my own course platform, I would need to make important decisions and live with their consequences. Moreover, maintaining the code would solely be my responsibility, without the luxury of having a support team to rely on.
As developers, we have the incredible ability to create the tools we need. However, this power comes with a dilemma. Do we want to depend on a specific platform for the next 5-10 years? What if their decisions do not align with ours? What if they raise their prices unexpectedly? Will we be able to easily transition away from them?
In an ideal scenario, I would always choose my own platform over one managed by others. But I also value efficiency and the precious resource of time. Opting for an existing solution would save me valuable time.
So, here I am faced with The Developer’s Dilemma. Despite trying out various pre-made solutions, none of them fully met my expectations. Therefore, I have made the decision to create my own course platform. Of course, I will aim for simplicity, as I believe it is the key to success.