Readit News logoReadit News
abricq · 2 years ago
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 !

rpastuszak · 2 years ago
+100000

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.

hyperthesis · 2 years ago
> I've been delaying sharing a complete list of my personal work for about 10 years

Can relate. I think the problematic word is "complete"; it's a kind of perfect. Initially aim at incomplete/minimal, then build.

ungamedplayer · 2 years ago
Damn you are productive. I have spent longer on building simple circuits.
hyperthesis · 2 years ago
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.

el_benhameen · 2 years ago
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.
abricq · 2 years ago
Bless your mess !
l33t7332273 · 2 years ago
2 hours seems short for a poc, in my experience. What general criteria do you have for such a barebones poc?
forgotmypw17 · 2 years ago
I liked how Sid Meier put it in an interview:

> 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.

alkonaut · 2 years ago
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.

gertlex · 2 years ago
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.

imhoguy · 2 years ago
"commercial success",

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.

hyperthesis · 2 years ago
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.
JJMcJ · 2 years ago
> “this could be a commercial success"

Someday maybe, but if not, that's fine anyway because I learned something and had some fun.

Verdex · 2 years ago
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.

hyperthesis · 2 years ago
Reminds me of Feynman saying that when he learnt a new mathematical technique, he'd try it to see if it helped on his unsolved problems.
codegeek · 2 years ago
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.
diggan · 2 years ago
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 :)

TheCaptain4815 · 2 years ago
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.

hyperthesis · 2 years ago
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).

Never tell me the odds.

RajT88 · 2 years ago
This!

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.

szundi · 2 years ago
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.

Madmallard · 2 years ago
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.
loceng · 2 years ago
I've always wondered about this mindset.

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.

xmprt · 2 years ago
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.
abricq · 2 years ago
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 !
hyperthesis · 2 years ago
winners never quit and quitters never win but those who never win and never quit are idiots https://despair.com/products/stupidity
ihaveajob · 2 years ago
The corollary is that everyone is an idiot until they win, or quit. Then they're either winners or quitters.
codazoda · 2 years ago
I might be that idiot. But, whatever. I enjoy my failure enough to try again.

https://joeldare.com/how-to-lose-money-with-25-years-of-fail...

orangevelcro · 2 years ago
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.
tagami · 2 years ago
yes, like sketches in art.
junon · 2 years ago
Totally this. This approach is why I'm where I'm at in life, I think.
hyperthesis · 2 years ago
Learning out of interest is surely the most effective way to learn, by far.
encoderer · 2 years ago
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.

cellularmitosis · 2 years ago
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...
hyperthesis · 2 years ago
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?

syndicatedjelly · 2 years ago
If you need to run a scientific experiment to prove that something is fun, it’s probably not fun.
dangus · 2 years ago
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.

velcrovan · 2 years ago
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.

quickthrower2 · 2 years ago
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.

margalabargala · 2 years ago
> 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.

benreesman · 2 years ago
If anyone wants to try something like this I recommend looking at:

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.

janalsncm · 2 years ago
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.
AdamJacobMuller · 2 years ago
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.

WaxProlix · 2 years ago
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.

xmprt · 2 years ago
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.
nonrandomstring · 2 years ago
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.

jongjong · 2 years ago
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.

hyperthesis · 2 years ago
"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.

jongjong · 2 years ago
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.

mittermayr · 2 years ago
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.

radley · 2 years ago
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."

Have fun, try things.

mfrye0 · 2 years ago
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.