HACKER Q&A
📣 woutr_be

How do I deal with not being able to build products


I realize this might be a bit of a strange question, but for the past 10 years, my dream has always been to build a side-project, and passively make money of it. Not even replace my full-time job (although that would be ideal), but just get a bit of extra money.

However, in the past 10 years, I haven't build a single product that was shippable, I've had plenty of ideas, many that I just didn't execute because I often overthink things.

My usual flow goes something like: 1. Come up with an idea for a product, and be really excited about it 2. Do some basic research and start planning 3. Start development 4. Quickly obsess over every tiny UI detail 5. Start second guessing the product 6. Find an existing product that's closely related 7. Give up

I've had ideas written down for years, only to see someone else build it, and be reasonably successful.

It's not that I'm a bad developer, I've shipped many products while working for different companies. It seems to be that when I'm on my own, I just can't seem to do it. I feel like I've wasted 10 years messing around, and it's really bringing me down.

Has anyone else been in a similar situation, how did you deal with it?


  👤 davismwfl Accepted Answer ✓
1. Accept that the best product is usually not the one that sells. e.g. perfect is the enemy of good enough (or a thousand other versions of that saying).

2. Find a pain point in an area you understand or have experience etc, then talk to people about if it is something worth solving for them before you ever build something. Don't build until you have multiple people say it is worth it and ask when they can have it/demo it pay for it etc.

3. Build the simple version, one that is almost embarrassing in simplicity but is reliable and not bug ridden. The simple version must solve a key pain point and then get it in one or more client(s) hands for testing and refinement.

4. Keep refining 1 thing in the product at a time. Listen to clients but do not chase features only. Chasing features is a sure way to die by a thousand cuts, be selective on features that solve the need and which a client is actually paying for or using. I've had lots of customers say we need this feature or we can't buy, then you do it and they either still don't buy or never use the feature and drop you in 3 months. Be weary of this.

5. Stop second guessing so much. We all have doubt but the reason so many young people succeed early on in getting a product out is they don't have combined experiences telling them all the stuff that shouldn't work. As we age we see all the failures of the past and can let it cloud our drive and vision, you need to actively ignore this at some level but not stupidly so. At the same time the most successful founders are usually a little older who took that youthful inquisitiveness/naiveté forward but with life lessons on how not to shoot themselves in the foot.


👤 hacky_engineer
I've felt all these same feelings before. The one project that I have finished was because my wife kept encouraging me to finish it and reiterating that she thought it could be very successful. Luckily for me, she was right. Find someone that can push you to finish things. Whether it be a spouse, a cofounder, or just a friend that will follow up with you and encourage you to finish what you've started when you both know it's worth pursuing.

Also, all the stuff everyone else said. Get customers first. Build the MVP not the final draft of the product, etc.

A couple other things that I do is to sit on an idea for at least a month before I start building. A lot of times I run out of energy for an idea before I even start (this helps filter out the ideas that I don't really want to work on). And I also really like to pick projects that I think I can create an MVP in less than 2 weeks. If it takes 6 months to build an MVP, then I am far more likely to run out of energy and question if this is really want I want to be working on.


👤 danielmarkbruce
To begin with, accept that it's difficult to finish things. Ie it's not a you problem, it's a general problem. If you don't accept that it's difficult you won't even try to figure out a solution to the problem of finishing things.

When you shipped things at companies... maybe half the time you were actually excited and half the time you figured if you don't work you'll get fired. So there is a system in place to keep you working even when you aren't especially motivated.

So what are some systems or tricks you can put in place? A person to work with helps. Working on something really tiny and just getting it out there helps build momentum. What other things have worked in your life to get you moving? Setting a specific time every day to work for 30 minutes might help.

To repeat - it's not a you thing, it's a general problem. Figure tricks and systems to help you.


👤 kanonieer
About your step #6, finding an existing product can signal that your idea is already validated and that there's a market for it. You could improve an existing product in many different areas, e.g. efficiency, pricing, better integration, UX, localization etc. I'd personally suggest dropping the search for "something that someone has never thought of".

On a side-note, even though you don't mention having analysis paralysis at your step 3 & 4, something that held me back during pre-development was always trying to decide which language to use and which libraries/frameworks to go for. I've heard this from my peers as well, so I thought I'd mention that as well.

My solution to this problem is to treat the language and tools I'm most familiar with as if they are the only ones that exist in the universe. I learned this from retro game hackathons that apply artificial limits on color palette, sprites, available memory size etc. For some reason, I'm much more creative when a set of these decisions are already made, in this case by my past-self.

When I want to just play, learn, experiment with things I can choose whatever I want. But when it's building a product by myself, then I always apply plenty of artificial limitations from day 0.


👤 roosgit
Try to start with something very small. If people use it, add features and charge for a "Pro" version. This process should teach you a lot. Even if you don't make it all the way to generating money.

My experience was something like this: I had a small niche website while having a job. This website was making less than $50/mo from ads. When I quit my job to start an online business, I wanted to make something new, a community. But I had no experience with that type of website. Not only did I spend a lot of time (12 months) building the "product", but I also had no idea how to market it and no idea how to make money from it. Eventually, I started making small websites again, similar to the one I already had. I used the same platform, so a new "product" was ready in less than 3 months, sometimes less than a month. Surprisingly, at least to me, these small websites grew bigger and bigger, so they have become my source of income.

After all of this, the lesson for me was to stick to what works and what I can do.

Regarding point 6, I also have that problem, so I try to see if I can offer something more, different or if I can remix it. If not, I move on. I don't find it satisfactory to just clone an existing product.


👤 jupiterandmoon
I can relate to almost every part of your post. I have ~13 years of professional software development experience and have also wanted to build a side project with nice-to-have extra income.

In the past, I have tried a lot of silly ideas. Recently, I shipped a web app but marketing scares me so I currently have 1 user other than myself. Here are my unsolicited tips that a younger self would have found useful:

- Stick with building software, since that's something I am good at. Not e-commerce, podcasting or becoming a Youtuber.

- Build something that fixes a problem that you yourself have. At the very least, you have one customer after you ship.

- Build small bits of features every day or at a semi-regular interval at your choosing. I did this and was amazed at the progress made after 1-2 months.

- Keep the infrastructure simple in the beginning. For example, rather than paying $x/mo for an email with my custom domain, I use an email alias such as forwardemail.net or simplelogin.io. Use as many services with generous free tiers as possible.

- Stop worrying about similar products out there until after you ship yours. I personally have stopped trying to look for similar products (or tune them out when I see one) and focus on my own instead.

I'll plug an idea if I may - I have been thinking about starting a chat group with other developers working on side projects. I myself am a solo dev looking for support (while also working a full-time day job). If this is something that you or others in this thread are interested, please let me know. My contact info is in my profile. I have tried searching on hn for such support groups without much success; there have been interest in the past but they are many years ago.


👤 romanbaron
I can't tell if I'm touching the right points here, so just sharing a couple of thoughts:

Ideas are exciting, especially in the beginning. When you decide to work on a product, you are giving up on an endless amount of new (read: temporarily more exciting) ideas that come up to you as a creative person. This is a tough choice to be made, have you made this choice?

What does success look like to you? Is it the ability to work on what you like? If so, any kind of commitment to work on one product is going to be a difficult.

Also, you mentioned second guessing due to competition. You may notice that in any field there are many products which seem, like you said, "closely related". Thats because they only look similar from the outside. In reality they have something different about each of them, something significant enough for their makers and for the market. For example, they may be focusing on different aspect of the same problem or may be targeted at a different stakeholder or reach the same customers in a different way. Learning to find this differentiation in existing products might help you see more clearly where your product is unique.


👤 DarrenDev
It's the final 20% that kills so many side projects. I wrote about this a couple of years ago, as I used to hit the same problem with my own projects.

https://medium.com/swlh/5-reasons-your-side-project-never-be...

I got over it by religiously plotting out the final steps to release, and then ticking them off 1 by 1. I find it useful to give myself an "official release date" and then trim features off the list so that I can meet that date.

You need discipline to do this, and you need to be able to look at your app or whatever it is critically, with a user who is not you in mind. You don't need to be in this frame of mind all the time, just in those final weeks as you prepare to go live.

The final weeks can be boring to a degree, but as you tick all those dull tasks off the list and near the finish it can get exiting and build up a very real sense of achievement.

Of course, none of the above determines whether your app will be successful or not. That's a whole different thing. But if you never release, it absolutely, 100%, will not be successful.


👤 FlacoJones
Build a product that you yourself want to use.

Then, find a semi-technical "business accountability person" (could be a CEO) that has a vested interest in keeping you on track.

Sure it's a balance of "keeping it loosey goosey and fun" and "wow this just feels like another JIRA tracked corporate project" when you get non-technical people involved, but that balance can be half the fun.

Also, you don't have to come up with the idea yourself necessarily. There are hundreds of non-technical founders vying for technical cofounders with 10 years of experience.

My one actionable piece of advice: do more hackathons (especially Web3 ones)

I'm just now about to launch my first self-made production project after four years, and it wouldn't have happened if I hadn't had a kind of accountability partner.

I met my business partner in a Chainlink Hackathon last year. We were working on the same thing, I liked his team, so we fused. He's kept me on track ever since as we enter seed financing, and I like to think I've perhaps kept the technicals on track as CTO.


👤 kandruszkow
Maybe it will help:

1. Find someone with whom you can share your goal/passion. It does not have to be a business partner right away. You will find a lot of communities on the web for people working on your project, for small start-up businesses, etc. Maybe it will give you some motivation.

2. Accept that there are tons of similar products globally, and some will be successful and some will not. Besides, even if a product on the market is similar to yours, it doesn't mean that you can't beat it.

3. Remember that the process of creating a product, introducing it to the market, and further development is complex and often takes a long time to get the results you want. Don't give up in the early stages!

4. Learn. Observe how creating products and introducing them to the market looks like for others. See what they fail to do and learn what they are doing right. It is also worth establishing closer contact with such people. You can get valuable advice from them (you may even find that some of them have had similar problems to yours).


👤 koinedad
I definitely can relate!

As was mentioned above I think building something you can use yourself daily (or regularly) helps. When I my side project that’s where o get excited about continuing to develop it.

And as you mentioned in your post I’d recommend not “obsess[ing] over every UI” detail. Might be a good idea to just make it ugly/imperfect for V1 intentionally?

Really just try to add the basic functionality MVP style. And since you’re using it regularly you will find little features you really think are necessary or bugs throughout the day to add to your list of things to do on your next planned programming session.

And I’d recommend picking only one side project and sticking to it, only one is important so you see more progress quicker and sticking to it is important because sometimes you just need to keep doing it to finish v1. Then you’ll have that as a milestone.


👤 kureikain
The only hack that made my finally shipped my product is having a weekly sync with some friend and just talk about what I do. Make it a routine. It forces me to build.

This is my thread https://news.ycombinator.com/item?id=25911355

I launched it very early with lot of "hacky" feature(and still nowsadays).

Few thing to help you shipped:

- Choose something you are super and very familiar. This is your product, not your play ground to experiment - Have your friend use it from day one. It forces you to roll up your sleeve and fix bugs - Weekly sync

If you want, hit me up at vinh@mailwip.com and I can do a weekly sync 15mins with you.


👤 founderling
My guess is that you subconciously know that the outcome would not be that great.

Why do you want to do a full-time job PLUS a side project?

What kind of life is that? You would work most of your waking hours. That is not the kind of possible future that motivates one to push through.


👤 tucaz
Is there anything else in your life that you are not forced to do, but you do with consistency? I will take a wild guess and say “no.

I think you are asking the wrong question. From where I sit you have a discipline and consistency problem. Not a “I can’t build a product” problem.

Building anything in life takes time and patience. The reason you never finish anything is you don’t have those traits developed.

For all these years, what you have done is played with technology and learned new things. You didn’t actually try to build a product.

While the first is very valuable, it’s completely different than the second.


👤 DrNuke
Nobody can really tell what’s going on with your attempts, yet ten years are a long time for showing no success from a number of projects. Maybe, just maybe, you are in love with the idea of “build a side-project, and passively make money of it” without fully practicing or proficiently practicing these well-defined (from startup or lifestyle manuals) number of plan + commercial + technical + communication steps needed to ship and sell competitive solutions? If the case, you might even reconsider some of your unsuccessful projects from the past ten years and give them a more focused go.

👤 mbrodersen
Founding and running a business is very different from working on a fun side project. And if you don’t enjoy the non-programming side of that then obviously there is no motivation for you to finish the projects. I founded and was the CEO of a small successful software business for 5+ years. But I realised that I didn’t enjoy the non-programming side of it. So I went back to programming full time.

👤 giantg2
Move step 6 to step 2. I have lots of ideas for products. They usually exist or are patented already. Best to discover that during research.

👤 ceesharp
I once shipped a desktop software and had around hundred customers. It lasted for two years approximately. Ten years later my "side projects" folder grew by 1000x but I haven't launched anything since. I feel your pain.

👤 teeceetime2
I can't say I have any advice to offer you, but what I can tell you is that I am in the exact same situation and you're not alone in feeling this way. Thanks for asking this here

👤 h2odragon
you may be telling yourself that you really dont want to do the actual work of "running the side business." Sounds like you need to find a partner who isn't as strong a developer as you are and do the building, then hand off to them for the work of running a thing.

👤 anyfactor
This probably is the most common problem for everyone here in HN. I have yet to solve my problem so take my advice with a grain of salt.

I have 3 side projects that are on limbo. One of them is stuck because I am feeling technically challenged. Another one depends on the completion of the third project. Third project is stuck because I think I should finish the first project entirely then move to this project.

But here is what I am doing and get this, I built another project over couple of weekends that is 99% finish. Why did I do that? Simple answer is that I wanted to get my sideproject-building-juices flowing. I wanted to see if I had the ability to build something from scratch and ship it out FULLY FINISHED.

The scope was brutally limited and that meant that I couldn't simply add features to it. I intentionally choose solutions that I knew can never be scalable and extensible. And I also promised myself I won't spend a dime on it and I won't expect anything beyond upvotes in a Show HN post.

So what I built? A opinionated news link aggregator. There is no way it could scalable, marketable or profitable. The goal is getting a bookmark and 3+ upvotes. Period. I am more proud of the development story of the story rather than the project itself. (I am unironically using Google Sheets for my backend).

TLDR: Build a something that can be shipped in under 3 days.


👤 OJFord
Be grateful you can get past step 1! That's where I fall down...