You just started a new side project to make some money, you are so motivated to start building it. You open Vscode, and you’re like: “This will only take 2 days to build“ , but day after day you found that the project is growing, and it becomes an endless loop with useless features that no one asked for and no one will ever use.
“Now my code is a mess! I guess I’ll just drop this project and start a new one”.
Nowadays, everyone wants to become an indie hacker, and why not? it’s very simple for anyone to become one. Here is what is takes: learn JavaScript, create an X account and keep posting anything (trash content is fine) with the hashtag #buildinpublic, and that's it, you are one of us now🎉!
Almost every one who calls themselves a solo founder has a hard drive with 1 TB of unfinished projects and 0 MB of completed projects.
Every time you had a new project idea, you start coding right away without thinking, and you try to make every detail perfect, and after a long time, here is the progress you made so far:
Let's say you somehow managed to finish your app and Finally your project is ready, time for generating some money🤑! You submit your app to ProductHunt and spam reddit with chatGPT posts, a few days later, you step on the reality that no one wants to pay for your app, no one even cares.
What’s the problem?
Well my friend, The problem is with the mentality, you think that everyone will go crazy after you launch your app, and it is a solution that people will say: “how did I survive without this!“. And while having this mentality, it's normal to aim for perfection, because you think that people will judge you why you made the button blue and not green.
Users don't care how did you build the app, is it using NextJs or PHP. Are you using YouTube because it's written in Rust or C++? no one cares about this! You are using YouTube because it's solving a problem for you, which is either to learn something, or for entertainment.
If you are always falling into the perfection trap, you need to learn how to drop it ASAP. This is an important skill that you need to learn, but this will need some training from you, this won't happen in a couple of minutes.
How to fix this?
Instead of jumping right away to VSCode and start a new project, you need to spend some time to have a general overview of what you are going to build, what are the features you will implement, and stick to them, because if you don't do that, you will enter a new loop that I like to call it the random-new-feature-that-no-one-asked-for-loop. Before start coding, write on a note app, what do you want to build and set deadlines, it is very important to set deadlines, not for every small thing, you are not working on a corporate, but set deadlines to the big parts of your app. After doing this, you will at least get a realistic overview on how much time this app could take to build before moving to the real work, which is marketing.
The problem with developers is that they have this engineers mindset, everything has a start and an end, a project starts with first line of code, and finishes when it's tested and deployed. But this mindset is the opposite of marketing, which is an endless loop, of testing different strategies, and iterating. I suggest you read the LEAN startup book to have an understanding on a very important principle, which is the Build-measure-learn loop.
I like to think of it like this: it's not a build-perfect-code and forget it, but instead it's writing a bad code, get the app in front of user, then improve code, then get the app again in front of users and so on....this picture will explain more:
When being a solo dev founder, the real work starts when you publish your app, not with your first line of code. Having this mentality will help you a lot, because even if you spend a year building the app, you know that the real work didn't start yet, which makes you be realistic, and not depressed after launching your app and not getting paid users, because you actually didn't do any marketing plan yet, the real work will start now.
What makes you spend too much time when building?
If we had something like screen time but for Vscode, to see what parts of code you are spending much time on, we will see that most of the time is spent on front-end and User Interface in general. and why not? UI is the gateway between the app and our user, it is the first thing that users sees, if it's bad, users will just leave the website!
Yes I agree, but it depends on what you are building. if the user is visiting your app because he needs a solution for his problem so bad, then he wouldn't care about the UI, even if your website has a 1999 web design style, as long as your service is fixing the user's problem.
Another important subject to fix this front-end time consuming problem is using Templates and boilerplates. Why would you build the UI from scratch while having some ready templates that you can use, the only time you will spend is to set it up. There is tons of templates and boilerplates out there, for any framework you can think of, and for any app type you want.
If you are a person who loves to build the UI from scratch, then a good advice is to have a GitHub repo where you save all the components that you previously used on previous projects.
If you managed to not touch the front-end part, then you will save a lot of time, and you will switch your focus to the core functionalities, which users actually needs.
Quick recap with a simple example
let's say I want to start a new project: a CRM tool that is simple to use and designed for solo founders. instead of jumping right-away into VSCode and see how things go, you need to spend some time to pull down all features that you want your MVP to have. Same thing for deadlines. Then start a draft project, say to yourself “this is just a draft to test code”, like a playground, and start implementing your core features on that draft. Then add a UI template to your draft, and that's it, congratulations! You already have finished your MVP, deploy it asap and then you'll start the real work: getting the app in front of users.
Feel free to follow me on X, where I share content related to web development, startups, UI, business 👉 https://x.com/souhail4dev