Writing small, unfinished projects is great ! At least I think so. It's what keeps me passionate. It's a way to learn new things (language, framework, etc...).
I don't like much the phrasing "I give up". How about "I had fun, learned while enjoying it, and now move on to my next unfinished project". Great article though !
I think this is really important, because pushing through on one project that's not working makes you neglect other projects that are more deserving of your time, attention, effort, love, blood, sweat and tears. Opportunity cost.
I had a really compelling but unproven idea once, for a gap in the market for a library. I made an absurdly ruthlessly minimal prototype in 2 hours; then spent 1 long day (9 hours) making a website. My rule was if no one appreciated it in 10 days, I'd forget it. Someone did, and it ended up making me ramen-FU-money.
Wow, I really like that rule. I’ll often discourage myself from playing with a POC because of how nebulous the timeline can feel. I’m going to this that next time.
> Our philosophy is to find the fun first and do a lot of prototyping and a lot of iterating very early on. There are probably more projects that I've worked on that haven't turned into final games than have.
> We have ideas. We have prototypes. We spend a lot of time trying out ideas. Probably two-thirds of them don’t end up going anywhere, but experimenting with those kinds of things is fun.
To answer the OP question, I can't find the interview I was looking for now, but I remember that he said that he stops working on a prototype when he realizes that he's learned enough from it.
This. I have done this for 30 years and never, ever thought about a side project “this could be a commercial success”.
What’s described here is a lot further along than I normally take a project.
There is always a more interesting project to make that has no potential of being “successful” than the most interesting idea among potentially successful projects.
I think for some people the entrepreneurial angle itself is enough to make a project attractive. But I never quite understood it.
I also never ponder personal projects from a commercial standpoint. But I sure see that narrative here on HN frequently.
I have to conclude that most people on HN talking about commercializing are doing purely software projects.
My projects very often include hardware. Commercializing hardware+software projects is hard... orders of magnitude harder than just software. That's probably a factor in why the idea of making money from wiring/soldering/dremeling/hacking things is so far from the forefront of my mind.
As for what's attractive... novelty and usability/street cred do seem to be my subconcious goals. "Street cred" or even just aspiring to have people use a software tool is certainly a form of non-profitable entrepreneurship.
I think it is a common dream of escaping 9-5 worklife. I find myself trapped in that quite often, trading fun for possibility of financial independence.
I think your attitude is healthier. But fame and fortune do attract people. There is also something else exciting about a gap in the market: a kind of discovery and a way for the impact and usefulness of your efforts to be multiplied.
I think unfinished projects are important. On a personal level, I've had many unfinished projects that felt (at the time) like failures. At one point in time, I had two different ideas for parse libraries that I had to give up on because I couldn't figure out how to make them work in a way that was remotely useful. However, a few years later, I was able to create a third, otherwise unrelated, project that I realized I could use to unify the previous two.
If you're not running into situations where you have to put away a project as unfinished then it might mean that you're not pushing yourself to and beyond your capabilities (which, depending on your goals, can be totally fine). And just because something ends up unfinished, doesn't mean that it might not be able to come back later in a different form.
I love to do small projects even if they technically don't finish. Sometimes those are useful later down the road when I am working on a bigger project and that little project comes in handy. For example, I just created my own poor man's CMS in Go that processes Markdown to HTML. A while ago, I had played around basic Go library that does that so I just used it easily in my project without needing to spend too much time figuring out that library.
Sounds like the general definition of "finish" doesn't match with your own. One could "complete" or "finish" a project if the goal was to learn something specific (or general), although others wouldn't considered it finished unless it was deployed and others use it.
I think lots of us would be better off if we redefined "finish" to basically mean "done", which you can define however you want :)
Same here for physical "ideas"/ecommerce stuff. By constantly "failing", I've gotten very efficient at knowing whether an idea or product is worth attempting.
I will say there is a certain charm to being ignorant that I've seen bring people success (including myself). I've attempted ambitious SEO projects when I was less experienced and succeeded, and looking back in hindsight they were pretty crazy given the success odds.
I can see becoming more efficient at feeling confident in your opinion, but how can you know you were right - particularly the ones you dismissed? (Though I don't know what else one could do).
I have spent my middle and high-school years writing about 1000 games. Literally. Most of them I just stopped when the interesting part was done. I have kind of finished like 5-6 at all.
Best time of my life.
Also sometimes wrote (finished) software for companies as a freelancer.
Then I finished high-school and started uni where my startup was founded with a friend. I had a successful exit lately.
I think these are necessary pre-requisites to larger projects that you may try to bring to market. If it's too daunting and you can't ever finish then the reality is you're probably not yet competent enough. Hayao Miyazaki went through thousands of unfinished short stories and Manga before working at Toei and other studios then he finally developed enough confidence and competence and started hitting homeruns later. It wouldn't have happened without that prior buildup over decades.
For me, due to life circumstances of severe chronic pain, until relatively recently my life and projects were mostly on hold.
To cope with my projects "dying" 10+ years ago from no longer being able to work on them, aside from the grief of going through my entrepreneurial baby "dying" - the main project I was working on and putting all of my effort on, and was going well - I began to tell myself that things were simply on hold, on the backburner, and I will revisit them again in the future.
My ideas and understanding and strategy since evolved, and so even though I wasn't actively working on projects - they and myself were still evolving.
Thanks for reading! I came to the same conclusion. I don't see people post about their "failures" enough (although true failures are rare because you can always learn something from them) so I figured this would be a good thing to share.
That's true, I guess we see a lot of "success project" and feel ashamed to share our projects with half-started README. But what a great coffee-with-colleague-topic it makes !
Totally agree! I have so many unfinished projects, but I also find that I end up using bits and pieces from those unfinished projects in new stuff. I always learn something from them.
I’ll be blunt. You were being a perfectionist. That is a guaranteed way to kill momentum and ensure you never have any fun.
So the algorithm wasn’t great and the map was slow. Rome wasn’t built in a day. I get it, you have a vision in your head for how you want it to work and it wasn’t there yet. But this is actually a psychology problem and not a project problem.
I was about to say, it loaded pretty quickly and I found two interesting places right around the corner from where I live. If this is a "failure", I'd hate to hear how he classifies my personal projects...
Could you elaborate on it being a "psychology problem" please?
I agree with your perfectionism point; but how to test the hypothesis that it would be "fun"? A rough prototype can easily not be fun, even if the hypothesis is true! User experience seems hard...
Perhaps this is the reason for Mark Cerny's Method in game dev: to complete a slice of a AAA game to shippable standard, to tell if it's worth completing. Because players can't evaluate the experience of a game without the finished game. It's a hell of a lot of work, like $3 million; but doing just a slice makes it less than the $30 million for the whole game.
Whereas, for some reason, for Zelda: Breath of the Wild, they developed a cheap 2D prototype to test out their "physics" and "chemistry" ideas. How were they able to test their hypothesis so cheaply?
What makes a hypothesis cheap to test? Is it a bit like unit tests versus functional tests?
I think it’s more like lack of focus and priority.
The author identified all the things they needed to do, and described the process of doing everything but those things despite seemingly knowing exactly what was needed contemporaneously.
Obviously it’s no fun to try and force a non-fun project through to the end, and I agree with the author’s analysis that they should have stopped sooner.
I’m guessing it wasn’t fun which is why the author did what I often do when I sit down at my computer to work and want to blow it off: I spend a bunch of irrelevant time physically close to where work happens, but I don’t do any work.
OK so they gave up after one month of tinkering because “the hypothesis was wrong”. Was it though?
The hypothesis was “if you could drag around a map to search for articles nearby and sort them by pageviews it would be more fun and could potentially help with vacation planning.”
After one month they realized it would be harder than they thought. They had a clear idea of how to proceed, but just didn’t want to do it. That's totally fine, but the original hypothesis was not really tested here.
I did skim, but I got the impression it was tested as a NO because of all the irrelevant articles (whole city pages, death of Epstein etc. )
This is the scraping tarpit! And why I avoid scraping projects. Even if there is a nice api it is still like a scraping project as there is tonnes of raw crap to deal with and categorise.
Machine learning might help. Not necessarily a LLM but could just use attention architecture to predict yes/no relevant or irrelevant, maybe.
> there is tonnes of raw crap to deal with and categorise
This is a fair use case for LLMs. "Read this article and decide if it meets this criteria". There will be some false positives and some false negatives but it will probably have a 95%+ success rate out of the box, which is more than good enough for a project like this.
I ran across it trying to solve a (regime of) a problem in proteomics, but it’s got old-school P(click | impression) style problems written all over it.
You don’t even need a map UI to test the ranking algorithm. At least, simply sorting by page views is probably not ideal. Some recency bias would be useful.
Personally, I don't ever give up on projects like this (the one he discussed in the article is a cool idea also).
I work on small projects like this, I get them to a point, I pause. I come back a day or a week or a year later when I need it again (and find it broken) or want to add some feature. Sometimes I hate my code and want to rewrite it from scratch but I try to avoid that impulse as much as I can.
For me the key is to just never think of it as "giving up", I'm just not working on a particular project right now.
I agree, and I think the author does too. Note that they said they were "putting it back on the shelf" and were willing to come back to it.
I think distance and time can help with perspective, too. In a number of projects, stepping away (especially during the rat-holing on useless cruft features or w/e sections) and coming back later can help bring some good clarity.
Author here. I think all the buzz that this is getting make me want to give it another shot. I'll probably throw away most of the code and start from scratch though - one thing I learned from programmers much smarter than me is that the first solution is never the best one.
Yeah "the shelf" is where projects go. Never give up.
There's some kinda weird zombie projects though;
Project Deja-Vu: halfway through a new project you have a vague
recollection of having done something similar before, and when you
search your archives and find exactly what you're working on - even
with the same comments (maybe this is an age related thing )
Project "Father give me legs...": Every time you look at it you're
overwhelmed with a wave of guilt, memories of broken promises...
Project impossible: It's a brilliant idea, everything works except
that one NP-complete quantum-entangled function to send SMS text
messages backwards in time to remind yourself not to do something.
The thing which frustrates me the most is that consumers today have too many options; more than they need. Every genuine problem which humans had, has been solved decades ago. The problems which people are solving today are things that people want but don't need.
What the majority of people need is:
- Financial independence.
- Genuine social relationships.
- A sense of community.
Disturbingly, our political and economic system works against all of these things by using our monetary system to artificially create poverty.
We've reached a stage in human development where it doesn't make sense to solve any problem until we've solved the problems above for the majority of people.
That's why I never know what to build. Every project which will attract any money is going to be some band-aid patch. A drug which gives users a temporary high but doesn't benefit them at all in the medium or long term...
Or if the project is a b2b solution, it's just going to be some gimmick to further enslave humanity away from the things they need.
I got into cryptocurrencies because the kinds of communities that it could facilitate are exactly what people need. It was working in the early days, but the powers-that-be wouldn't allow it to continue and they monopolized the sector and now it's all 100% about making quick cash and nothing else.
"artificially create poverty" - don't like this being imposed either, but I find the real survival motivation in a wilderness situation very enjoyable. I think their concern is that people won't work without it - they may be right: many people want direction/purpose in video games; only a small proportion are happy to create their own fun.
Why not build something to help solve "finanicial independence"? It would attract money.
I did. I built a cryptocurrency and a decentralized exchange but it did not attract any money. They're both still operational but very low volume.
I'm now working on a no-code platform which will follow a franchise model that way anyone can buy a cryptocurrency and earn some percentage of the profits of the platform as semi-passive income. So far, no traction.
When I show people what I've done, they're usually quite surprised that it doesn't attract users. It feels like like none of my projects are allowed to get any exposure. As if Google and social media algorithms are not allowing any traffic at all to my projects, even for niche relevant keywords.
I can't even test to see if my target audience wants my product or not because I can't get it in front of any eyeballs to conduct that test. Over the past 5 years, my best project only got 50 visitors per day from Google. Many people who use it have told me that they love it and have been long term users but Google has a different opinion. I can't reach the necessary scale to make it profitable.
As someone who also makes these kinds of things all the time (sometimes it works, most of the time it does not) — let me just thank you for the "fake productivity" angle you highlighted. I am right in the middle of one of those, pushing the launch further out, yet again, and reading your article made that crisp and clear (in my case: changing from SQlite back to MySQL, from JWT via Auth Header to JWT via Cookies, etc.).
I also wanted to mention that clearly knowing the hypothesis to test for at the very beginning isn't all that easy, in my opinion. A lot of the time, you need to walk down the path, even walk it for a good long while, until you hit the right angle or context to truly see where the project could land. You (hopefully) start these things with a "good enough" reason, but it often needs a lot of shaping and refining to get it all back into the light, for a wider audience.
Curiosity in learning new things will (should) always be a good part of what fuels the effort, it's a safety net (for me as a developer anyway), shielding me a bit from ending up with purely wasted time once it's clear that it didn't lead anywhere. At least I learned something new along the way.
Life tip: you can give up on projects that do work, too. The only mistakes are planning a long-term commitment prematurely, and framing it as "giving up" instead of "moving on."
I think it depends on what you're trying to do. For any given project, what's the goal? Who are you building it for? Are you trying to build a business around it?
There's a big difference in working on a project for fun, and building something to solve a problem for users. In the article, I do not see any mention about talking to users, customers, etc. and asking what they want. It's a lot more motivating to continue working on a project when you're building something people want and solves real problems.
I don't like much the phrasing "I give up". How about "I had fun, learned while enjoying it, and now move on to my next unfinished project". Great article though !
Worst case you’ve learned something new or had fun.
I am yet to regret a single instance when I regretted sharing unfinished, scrappy work:
https://untested.sonnet.io/Share+your+unfinished%2C+scrappy+...
One approach I really liked was the 2/2/2 rule:
2 hours for a poc → does this even make sense?
2 days for a prototype to share with friends
2 weeks to build something useful (paid if your goal is to charge for it)
You can leave the process at any stage. Each stage teaches you something new.
Can relate. I think the problematic word is "complete"; it's a kind of perfect. Initially aim at incomplete/minimal, then build.
I had a really compelling but unproven idea once, for a gap in the market for a library. I made an absurdly ruthlessly minimal prototype in 2 hours; then spent 1 long day (9 hours) making a website. My rule was if no one appreciated it in 10 days, I'd forget it. Someone did, and it ended up making me ramen-FU-money.
> Our philosophy is to find the fun first and do a lot of prototyping and a lot of iterating very early on. There are probably more projects that I've worked on that haven't turned into final games than have.
> We have ideas. We have prototypes. We spend a lot of time trying out ideas. Probably two-thirds of them don’t end up going anywhere, but experimenting with those kinds of things is fun.
To answer the OP question, I can't find the interview I was looking for now, but I remember that he said that he stops working on a prototype when he realizes that he's learned enough from it.
What’s described here is a lot further along than I normally take a project.
There is always a more interesting project to make that has no potential of being “successful” than the most interesting idea among potentially successful projects.
I think for some people the entrepreneurial angle itself is enough to make a project attractive. But I never quite understood it.
I have to conclude that most people on HN talking about commercializing are doing purely software projects.
My projects very often include hardware. Commercializing hardware+software projects is hard... orders of magnitude harder than just software. That's probably a factor in why the idea of making money from wiring/soldering/dremeling/hacking things is so far from the forefront of my mind.
As for what's attractive... novelty and usability/street cred do seem to be my subconcious goals. "Street cred" or even just aspiring to have people use a software tool is certainly a form of non-profitable entrepreneurship.
I think it is a common dream of escaping 9-5 worklife. I find myself trapped in that quite often, trading fun for possibility of financial independence.
Someday maybe, but if not, that's fine anyway because I learned something and had some fun.
If you're not running into situations where you have to put away a project as unfinished then it might mean that you're not pushing yourself to and beyond your capabilities (which, depending on your goals, can be totally fine). And just because something ends up unfinished, doesn't mean that it might not be able to come back later in a different form.
I think lots of us would be better off if we redefined "finish" to basically mean "done", which you can define however you want :)
I will say there is a certain charm to being ignorant that I've seen bring people success (including myself). I've attempted ambitious SEO projects when I was less experienced and succeeded, and looking back in hindsight they were pretty crazy given the success odds.
Never tell me the odds.
I have many unfinished projects.
The goal was not to build a thing - it usually was more an excuse to learn.
Although sometimes it was to build a thing. I once wrote a podcast downloader in powershell because all the ones out there sucked.
Best time of my life.
Also sometimes wrote (finished) software for companies as a freelancer.
Then I finished high-school and started uni where my startup was founded with a friend. I had a successful exit lately.
For me, due to life circumstances of severe chronic pain, until relatively recently my life and projects were mostly on hold.
To cope with my projects "dying" 10+ years ago from no longer being able to work on them, aside from the grief of going through my entrepreneurial baby "dying" - the main project I was working on and putting all of my effort on, and was going well - I began to tell myself that things were simply on hold, on the backburner, and I will revisit them again in the future.
My ideas and understanding and strategy since evolved, and so even though I wasn't actively working on projects - they and myself were still evolving.
https://joeldare.com/how-to-lose-money-with-25-years-of-fail...
So the algorithm wasn’t great and the map was slow. Rome wasn’t built in a day. I get it, you have a vision in your head for how you want it to work and it wasn’t there yet. But this is actually a psychology problem and not a project problem.
I agree with your perfectionism point; but how to test the hypothesis that it would be "fun"? A rough prototype can easily not be fun, even if the hypothesis is true! User experience seems hard...
Perhaps this is the reason for Mark Cerny's Method in game dev: to complete a slice of a AAA game to shippable standard, to tell if it's worth completing. Because players can't evaluate the experience of a game without the finished game. It's a hell of a lot of work, like $3 million; but doing just a slice makes it less than the $30 million for the whole game.
Whereas, for some reason, for Zelda: Breath of the Wild, they developed a cheap 2D prototype to test out their "physics" and "chemistry" ideas. How were they able to test their hypothesis so cheaply?
What makes a hypothesis cheap to test? Is it a bit like unit tests versus functional tests?
The author identified all the things they needed to do, and described the process of doing everything but those things despite seemingly knowing exactly what was needed contemporaneously.
Obviously it’s no fun to try and force a non-fun project through to the end, and I agree with the author’s analysis that they should have stopped sooner.
I’m guessing it wasn’t fun which is why the author did what I often do when I sit down at my computer to work and want to blow it off: I spend a bunch of irrelevant time physically close to where work happens, but I don’t do any work.
The hypothesis was “if you could drag around a map to search for articles nearby and sort them by pageviews it would be more fun and could potentially help with vacation planning.”
After one month they realized it would be harder than they thought. They had a clear idea of how to proceed, but just didn’t want to do it. That's totally fine, but the original hypothesis was not really tested here.
This is the scraping tarpit! And why I avoid scraping projects. Even if there is a nice api it is still like a scraping project as there is tonnes of raw crap to deal with and categorise.
Machine learning might help. Not necessarily a LLM but could just use attention architecture to predict yes/no relevant or irrelevant, maybe.
This is a fair use case for LLMs. "Read this article and decide if it meets this criteria". There will be some false positives and some false negatives but it will probably have a 95%+ success rate out of the box, which is more than good enough for a project like this.
https://static.googleusercontent.com/media/research.google.c...
I ran across it trying to solve a (regime of) a problem in proteomics, but it’s got old-school P(click | impression) style problems written all over it.
I work on small projects like this, I get them to a point, I pause. I come back a day or a week or a year later when I need it again (and find it broken) or want to add some feature. Sometimes I hate my code and want to rewrite it from scratch but I try to avoid that impulse as much as I can.
For me the key is to just never think of it as "giving up", I'm just not working on a particular project right now.
I think distance and time can help with perspective, too. In a number of projects, stepping away (especially during the rat-holing on useless cruft features or w/e sections) and coming back later can help bring some good clarity.
There's some kinda weird zombie projects though;
Project Deja-Vu: halfway through a new project you have a vague recollection of having done something similar before, and when you search your archives and find exactly what you're working on - even with the same comments (maybe this is an age related thing )
Project "Father give me legs...": Every time you look at it you're overwhelmed with a wave of guilt, memories of broken promises...
Project impossible: It's a brilliant idea, everything works except that one NP-complete quantum-entangled function to send SMS text messages backwards in time to remind yourself not to do something.
What the majority of people need is:
- Financial independence.
- Genuine social relationships.
- A sense of community.
Disturbingly, our political and economic system works against all of these things by using our monetary system to artificially create poverty.
We've reached a stage in human development where it doesn't make sense to solve any problem until we've solved the problems above for the majority of people.
That's why I never know what to build. Every project which will attract any money is going to be some band-aid patch. A drug which gives users a temporary high but doesn't benefit them at all in the medium or long term...
Or if the project is a b2b solution, it's just going to be some gimmick to further enslave humanity away from the things they need.
I got into cryptocurrencies because the kinds of communities that it could facilitate are exactly what people need. It was working in the early days, but the powers-that-be wouldn't allow it to continue and they monopolized the sector and now it's all 100% about making quick cash and nothing else.
Why not build something to help solve "finanicial independence"? It would attract money.
I'm now working on a no-code platform which will follow a franchise model that way anyone can buy a cryptocurrency and earn some percentage of the profits of the platform as semi-passive income. So far, no traction.
When I show people what I've done, they're usually quite surprised that it doesn't attract users. It feels like like none of my projects are allowed to get any exposure. As if Google and social media algorithms are not allowing any traffic at all to my projects, even for niche relevant keywords.
I can't even test to see if my target audience wants my product or not because I can't get it in front of any eyeballs to conduct that test. Over the past 5 years, my best project only got 50 visitors per day from Google. Many people who use it have told me that they love it and have been long term users but Google has a different opinion. I can't reach the necessary scale to make it profitable.
I also wanted to mention that clearly knowing the hypothesis to test for at the very beginning isn't all that easy, in my opinion. A lot of the time, you need to walk down the path, even walk it for a good long while, until you hit the right angle or context to truly see where the project could land. You (hopefully) start these things with a "good enough" reason, but it often needs a lot of shaping and refining to get it all back into the light, for a wider audience.
Curiosity in learning new things will (should) always be a good part of what fuels the effort, it's a safety net (for me as a developer anyway), shielding me a bit from ending up with purely wasted time once it's clear that it didn't lead anywhere. At least I learned something new along the way.
Have fun, try things.
There's a big difference in working on a project for fun, and building something to solve a problem for users. In the article, I do not see any mention about talking to users, customers, etc. and asking what they want. It's a lot more motivating to continue working on a project when you're building something people want and solves real problems.