Building solo gives us complete freedom. Including freedom of choosing technologies. How to make best decision and choosing wisely - avoiding mistakes, keep the journey interesting and still deliver? In this article I will share my point of view on the technological aspects of solo building and share my perspective of making a choice.
I will start with common advices, the ones you have most probably heard already. First of all: trendy, bleeding edge and hyped technologies are not meant for solo builders. Consider what would be the reason to spend millions or billions on new technologies to enable individuals to build better products? No reason to do that. Solo builder are not being a target audience for these products. You may learn it as a part of comparison, skill acquisition or whatever is the framework you set up for your learning. But picking those, especially enterprise grade, will become an overkill and prevents you from delivering fast.
Now let’s consider what is unique of being a solo developer? Freedom. Which means - flexibility. Yesterday we’ve been building landing page, today we can build AI agent, tomorrow - who knows what we will come up with. Keeping focus and deliver is a different point, and is out of scope for this article. So we are at the place where we can change directions very fast, with no costs.
How to match speed and freedom with the technologies? Well, this is exactly the right question. First of all - any technology that you are good at is a good choice from day 1. Because you will spend no to small amount of time to adapt, adjust, deepening the knowledge that is required to ship the results. However, sometimes we join this freedom train to get a fresh start. To make something new and to learn. In this case there are couple prerequisites that we must meet before we jump on the other technology.
What are we going to build? Does the technology (programming language, framework, library) supports this specific are: web, mobile, cross-platform, generic system etc. Is that the right tool for the problem I am solving. Here you must wear a CTO hat, and analyze. For example: if you’re in a web space choosing Rust is very weird solution. There is Javascript that lets you build both: client and server side. The ecosystem and frameworks let’s you do that very fast once you learn the basics and the framework of your choice.
On the other hand choosing Javascript or PHP for product that requires lots of near real time computations, high load (that does not come from user base but from the nature of the problem you’re solving). I mean if that’s your stack - deliver. Don’t fall for the shiny object sindrom. Otherwise, once you are shifting - pick the solid option for the specific use case.
Once you have picked up something new, or considering multiple options - make plans. How are you going to solve specific problems and how this specific tool helps you to do that. Let’s say we are going to learn Javascript to build web apps. Great. Now understand how advanced your skills must be to deliver your product. Are there libraries, frameworks, tutorials that will help you doing so? How deep your knowledge must be to success. Choose the path where the amount of effort is smaller.
Finally, AI. With AI everyone can pretend they are developers. While in reality everyone can be coder. What’s the difference? Not everyone who gets hammer and nails becomes carpenter. Writing code is potentially the easiest part. Organising the logic, reducing contradictions in business logic and making a room for extending the initial logic - these are the real basics and challenged. While AI can help solve it - the problems will raise unexpectedly. And without another LLM leap or another super-smart model that you may lack access to you won’t be able to solve it properly.
Yet I expect this is more for developers, rather than vibe-coders. So use LLMs the smart way. It can speed up your knowledge widening or deepening at least 5x times. All you need is to understand the basic of how your own brain works, what do you know, what do you understand and where the blank points are. With this mind map you can ask LLMs to provide you tailored information to match those gaps. Literally, provide a piece of code, say what you understand and ask to either validate or provide details why this works the way it works. Or what that syntax means. Simple. Fast. Scalable.