Tech Stacks for Indie Hacker
As an independent innovator, or 'indie hacker', time is your most precious and scarce asset. You're wearing multiple hats - from product management and design to development, marketing, finance, and customer support, you're juggling a cornucopia of critical roles. Large organizations have dedicated individuals or entire departments for these functions. However, as an indie hacker, these responsibilities fall squarely on your shoulders. Consequently, saving time in any of these areas, whether by automation, outsourcing, or strategic decisions, becomes profoundly important.
Today, let's delve into the topic of tech stacks for indie hackers. Single-Page Apps (SPAs) are the current trend, and, as a die-hard React developer, this suits me perfectly. My experience with React has been more than satisfying and after so many years of cultivation and constant learning, it has, without exaggeration, become second nature.
However, React primarily addresses the frontend. Granted, it can be complemented with Next.js, but then you find yourself needing to establish a database, a background job system, authentication and permission management, email services, amongst others. Regrettably, Next.js doesn't provide these features right off the bat, obligating you to manually set these up for every single project.
This valuable time could instead be invested in constructing features and delivering genuine value to your clientele.
Alternatively, full-stack (non-SPA) frameworks such as Rails offer a more comprehensive solution, especially witnessed in a recent project I undertook. In Rails, everything is already structured and optimized - they possess standard libraries for virtually any use case, obviating the need for API wiring. It even comes equipped with Turbo streams and frames for real-time SPA-like features. The only hiccup arises when creating more interactive apps, particularly if you're accustomed to React. In these scenarios, Stimulus can be slightly awkward to use. Moreover, due to my relative inexperience with Stimulus and Turbo, figuring out some nuanced aspects, like setting up subscriptions, can prove time-consuming.
Meteor is another framework I've used before which enables rapid development. However, it didn't gain significant traction, which discourages me from continuing with it. Confronting an issue, I wouldn't want to delve deep into the framework to address it, and the popularity of a platform often reduces the likelihood of having to do so.
There are other full-stack Node frameworks, but upon interacting with their landing pages, it becomes evident that they lack something. Rails seems to have nailed this aspect.
In a perfect world, there would be a Rails equivalent in the Node sphere. Unfortunately, most alternatives I've tried have proven to be either brittle or perplexing.
I'll talk more about this topic as I gain more experience, but currently I'm trying to stick with Rails, and will try to use pure Rails as much as possible. If I need to add more complex front-end stuff, I might venture into some better alternatives to Stimulus.