Hacker News new | past | comments | ask | show | jobs | submit login
When should you give up on a project that doesn't work? (preethamrn.com)
255 points by xmprt 3 months ago | hide | past | favorite | 123 comments



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 !


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


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


Damn you are productive. I have spent longer on building simple circuits.


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.


With LLMs nowadays getting a PoC banged out in a couple hours is easier than ever. The things make boilerplate and you can focus on the value.


Author here and I 100% agree. The reason I was able to get a lot of the prototyping done within the first few days is by using ChatGPT. On the flipside I think the code that it wrote was not very maintainable so I should have started from scratch after validating my PoC.


Bless your mess !


Haha thanks for reading!


2 hours seems short for a poc, in my experience. What general criteria do you have for such a barebones poc?


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.


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.


Street cred is a pretty big part of why anyone does anything. Money is one way to get that but having something that no one else does is even better in my opinion. I spent a few weeks making a custom version of a board game that I really enjoy and while I could never commercialize it (for copyright, trademark, and a whole slew of other intellectual property reasons), I think having it for myself makes it even more valuable.


HN began as startup news, and remains part of YC (news.ycombinator.com): commercialization bias.


That's right - remember that the prevailing opinion here is just "one way to be".

You are allowed to do things just for fun.


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


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.


> “this could be a commercial success"

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


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.


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.


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

Never tell me the odds.


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.


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.


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.


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 !


winners never quit and quitters never win but those who never win and never quit are idiots https://despair.com/products/stupidity


The corollary is that everyone is an idiot until they win, or quit. Then they're either winners or quitters.


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


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.


yes, like sketches in art.


Totally this. This approach is why I'm where I'm at in life, I think.


Learning out of interest is surely the most effective way to learn, by far.


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?


If you need to run a scientific experiment to prove that something is fun, it’s probably not fun.


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.


This works. I recently used this approach to find baby names on Reddit. I would show GPT a list of articles and ask "list the article IDs among these which appear to be about baby names". Then further show each of those articles and ask "what baby names were mentioned in this post and its replies?".


Could it be done with “scroll around on a map” performance? I would think you’d have to process the whole Wikipedia data set ahead of time. I don’t know if that’s difficult or not.


I would bet it could be made to be that performant.

You wouldn't need full GPT-4 performance to do this sort of sentiment analysis, a cheaper, faster model would work fine.

Furthermore, you wouldn't need to ingest the whole article; just the intro paragraph would be fine. Overwhelmingly, the information needed to determine if this is the sort of article suitable for inclusion is in the intro section at the very top of the page; just one or a couple paragraphs.

Add to that that every page could be run in parallel, and you're looking at probably less than two seconds of processing time for loading all articles in an arbitrary location.

Bonus points that an article's suitability is unlikely to change, so this only needs to be done once, and then the article's id and suitability bool can be stored in a table somewhere.


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.


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.


Think about the _user_:

Is your use case "I'm a tourist in New York, who would like to learn more about my whereabouts." or "I live in New York, and I would like to be surprised with historic facts about places in my community", or what?


Can't read the artice but I do have some generic observations.

Most projects aren't going to work, so that can be one of the primary goals, mainly to find out whether or not that's the case, without too many compromises.

So most of the time to be realistic you have to try real hard for it not to work quite early on, or that could be something where you end up wasting too much time on a hopeless effort.

Some people never quit, and it can be difficult to know when to mothball something or give up altogether.

Mothballs can be your friend, especially when there are a greater number of promising projects than could ever be fully completed anyway.

Progress can surprise you though, but more often than not many things will take an unexpected downturn before you ever see a case of an unexpected upturn.


Divide into testing market/user-experience vs technical hypotheses:

"Would it be fun" you can test by faking it, like curating it by hand for a small specific area (e.g. a popular street in a popular part of a popular city; or your hometown; or somewhere that appeals/you want to visit).

"Can I make a general algorithm using publically available data to do this for everyone, for everywhere, automatically" is the technical hypothesis. It seems like a really challenging problem! But because it is clearly defined and scope-limited, I feel it's more straightforward than the first one.


I don’t think you need to throw your code away, I think you need to fix your ranking algorithm. People use Craigslist even though it’s got minimal styling. CSS isn’t UX.

And to fix your ranking algo you need to understand places more deeply. The core of your product. You mentioned yourself that ranking by page views was flawed.

First of all, it seems that you can probably categorize places into a distinct set of categories. Historical landmarks, locations of past events, locations of ongoing or regular events, buildings for large businesses or government, metro areas (cities, counties, states) etc. Figure out what you actually think is interesting.

Probably don’t include a link to Manhattan on your map next to a local business for example.

Choose a city you’re not familiar with and figure out if the top links are interesting to you. Tweak your algorithm and check another city. Simple isn’t always good, the world is messy and you’ll have a lot of edge cases.


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

Have fun, try things.


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 think its usually when the project becomes a burden (the author notes as such in the conclusion), this is a bit simplistic as sometimes you just have to push past this to get somewhere, but if its a hobby project it should bring you some joy. When you see yourself doing fake productivity its bad news.

I also find that sometimes I will scope tasks too big, take too long to finish them and get demotivated, if I break them up further I can keep momentum (even if the breakup is during the original task).

Having said that I don't think giving up is necessarily a failure case that people think it is, I often take a lot of learnings after attempting to do very ambitious projects that I eventually scrap, but the learnings stay with me.


Very cool prototype, and a very interesting idea to sort nearby Wikipedia articles by number of pageviews.

Just a note that the Wikipedia app for iOS does in fact have a map with nearby articles, and we will soon bring the feature (back) to the Android version.


> I think the biggest takeaway from this is that if something is worth building, you'll know right away. A barely functional prototype from another project I worked on almost 4 years ago got over 1000 upvotes on Reddit in a day just based off of a gif.

I like the rest but I think this is very wrong.

It’s very easy to simply imagine your idea is good and will be good if well executed. This is especially true in games.


Please elaborate.

A well-executed game can be fun, when a poorly-executed version of the same idea is not. But if execution is everything, how can you experiment to test the hypothesis without making the whole thing?


Execution is not everything. A well executed concept of a bad vision is still not great.

People love to pretend that game dev is just a matter of prototyping to find a fun mechanic, and while that can be true for a few things (mostly niche movement), it’s generally not true of most games. It’s important to identify where the player consciousness is within a game.

Binding of Isaac, to pick something somewhat random. It probably wouldn’t be that fun doing random rooms to prototype. It probably wouldn’t be fun doing random items. It has to be a whole sequence of runs before you get the feeling that it works.


This is the point of prototyping. You implement important game mechanics and interactions with just enough fidelity for it to be believable. If it’s fun, you’re on the right track.


So, important game mechanics and interactions, not the entire game.

If it's fun even without full-fidelity, it's fun. But if it's not fun, it might just be the lack of fidelity - not believable enough. I guess one needs an opinion for how much fidelity is enough to know, for the specific mechanics/interactions.

EDIT can always increase fidelity.

Through this discussion, I realize I'm more interested in "feel" than fun as such - e.g. a sense of place, being somewhere, in a walking simulator; or the feel of guns in COD. Not a mechanic; but perhaps a kind of interaction.

Not necessarily "cinematic", but probably more akin to issues in cinema than game mechanics.

I suppose one can still isolate an aspect and iterate on it; but it seems fidelity is important here...


Games don't get more fun with more fidelity, minecraft and terraria are very low fidelity but still fun. Fidelity improves other aspects, but not the "fun" part. Audio feedback and visual feedback are very important for fun though, like the knocking you hear when hitting things in minecraft and blopping from picking things up, but it is better to try to make things fun without that at first since those can make just clicking around in a forum fun.


What aspects does fidelity improve?

Your point on a/v feedback reminds me of "cow clicker", started as a joke, creating the idle-game genre.


I don’t read their post as fidelity to realism, but to the vision of the game


I've come to conclude a rule of thumb for (side) projects: if the project includes any form of web app, that part will take 90% of the development time and energy. Since I work in ML and not web stuff (which I don't really enjoy), this is not really how I'd like to spend my time.

Unfortunately, almost every idea I have, even if it deep down has to do with AI or ML, includes some form of web app, because you need some way to interact with the interesting thing. In the end, maybe that means just doing nothing, because with kids and a busy life I just don't have the energy to spend on npm dependency management, front-end frameworks and JS build systems.


I 'fixed' this but having a standard Go project that I clone, which allows me to do typed endpoints by describing them in s-expressions. All the user, perms and session mgmt are there already.

Now I just need something similar for front end stuff...


In this instance, I'm not sure why the author is giving up.

That said, I do find in industry it's worth knowing how and when to kill a project. I always push for the creation of a kill list when ideation begins.


"Doesn't work" for me has had different meanings. Most of the time I start because I feel initial passion for the project. Then, positive user feedback fuels me to keep going. Things go well (more users, good feedback, sales), it's easy. Things don't go well (no user growth, no feedback which can actually be worse than bad feedback, declining sales), I feel terrible. Do I want to keep pushing through the tough times? That's the test for when to give up.


For OP, maybe he could’ve simplified the problem to test it. Limit your articles to ones about one city only. Cache all of the links on your machine. There’s only 6 million English articles on Wikipedia anyways, and you can download a dump to play with.

If the limiting factor becomes your radius of articles, you know you’re on the right track.

Sometimes a prototype takes longer than a couple of days to build out. That's ok too. I’ve been working on a prototype for the last 6 months but I enjoy the problem.


A similar project to what the author worked on is "WikiShootMe" [0] that finds Wikipedia photos near you (green/yellow/blue), and needed (red) on a map. This was discussed here 2 years ago [1].

[0] https://wikishootme.toolforge.org/ [1] https://news.ycombinator.com/item?id=31575909


Also: Summer AI [0] which uses mostly wikipedia but also ties in other content.

[0]: https://summer.ai/app


Arguably, all I have are a bunch of unfinished projects.

Some are just "on hold", the subject still interests me, though the passion has dwindled.

Some are just dead, they served their purpose.

Some are "in production", in that I use them but don't "work on them". They're good enough.

Back in the day, we were using a tool that facilitated rapid iteration and development. The premise (way before any of this stuff became really fad-ish) was to get the customer involved. Fast results, early demonstrations, fast feedback. You know the drill.

But the key take away was the analogy he promoted. Simply "it's one thing to have sheet music, it's another to hear it". The premise being you can write the music all you want with notes and staves and what not, but it's not real until you hear it.

And, I don't know anything about music, so I can't speak to how actually writing music works for folks. But the point was made. You can make all the slide shows you want, but running code, hands on experience speaks volumes more than shouting at each other in a room with a whiteboard.

Of course, like everything, it's nuanced. But the point is made.

Recently, my friend had a need, and we came up with a pretty cool database type of system. No reason to go into details, but it was pretty cool, we came up with some great concepts, we thought through some hard problems, we started pounding out code, wrote up a nice rough draft of the query language.

In the end though, we felt that we were working on a trap with no mouse. The need wasn't that great. So we shelved it. We were close, but not quite to the most minimal MVP. To prove the core tenet. But, even close we felt it wasn't worth pursuing.

So, we stopped, and really haven't looked back.

And there's nothing wrong with that. Learn, move on.

That said, it behooves to make honest appraisal of why something is being stopped. Sometimes, and it's hard to tell when, but sometimes it's worth pushing through whatever barrier has come up and push on. Maybe with a little more work, you'll find that whatever was stopping you was surpassed and is no longer holding you back. Perhaps some new wind will fill your sails.


I like the sheet music vs hearing analogy.

I think the standard trick for testing hypotheses of user experience is to fake it. e.g. a GUI with no literally backend. It feels real. (Perhaps a "sizzle reel" in pitching movies is similar)


There’s no answer to “when you should give up” even in the case where you say you are gonna make the next Facebook, who’s to say you should give up? You give up when you give up and you learn about yourself so the next time you can make better judgement.

I do think sometimes it helps to finish a project and ship, you can be surprised that your internal dialog is different than what others think when they use it


Aside:

I know the post was partly an emotional exploration. But, as this is HN, I figure I can step into the pedantic.

This is related to a 'Stopping Problem', correct? The trouble I'm having is I'm not all that sure which one he's in, so I don't know what the optimal solution is.

https://en.wikipedia.org/wiki/Optimal_stopping

I think he's in a case of the 'Opera Parking Lot', but then the solution for that isn't really all that easy to find and I'm not about to try to derive it.

Does anyone know the optimal solution for parking at the Opera? Also, am I totally wrong about what stopping problem he's in?


Don’t get married to a position

This philosophy has allowed me to rapidly iterate towards short lived opportunities that drove 8 figures of revenue, no dilution, low overhead costs and so ultimately for me

I would reserve passion and pride for 9+ figure bets


I learned while building Nap[0] that sometimes ideas just need to simmer. It’s like cooking. Sometimes there’s that one step that makes the meal work, like adding wine to a hot skillet.

I had the initial idea for Nap over a Christmas break and built a working prototype. It took another 2 years for me to see a good opportunity to even use it for myself! But that was a catalyst that helped turn it into a more mature tool. It still has very few users, but I’m very happy with it, and that’s enough for me.

[0] https://naprun.dev


Wait. This is amazing. I think there are plenty of potential users. I've already found a bunch of cool stuff near me, and could see using this for any new area I go to.

The list of locations could have their thumbnail image as a low hanging fruit improvement.

Another consideration is not throwing in the towel after posting once. I've had the same link get 3 upvotes on subreddit A, and 300 on smaller subreddit B. The HN traction goes to show – it's context/timing/audience dependent. Take more shots on goal.


CommitStrip has an awesome comic about this exact process.

https://www.commitstrip.com/en/2014/11/25/west-side-project-...?

Shameless plug, I made a YouTube video that points out a bit of nuance that the comic doesn't explicitly point out.

https://www.youtube.com/watch?v=-L37U81MunM


I think the killer feature it’s missing is a better map, not just 2D orthographic but something that can pan and tilt, and show more info about the actual articles when you select one. I miss the interactive Encarta-like exploration encyclopedia features of the late 90’s and 2000’s.

Other than that can take some inspiration from what Google has done recently with integrating an LLM into their map searches: ex: “What are some interesting civil war landmarks around Pennsylvania?”


I must be missing something… wikipedias app on my iPhone does have search by location feature. Is the author talking about this missing feature on android perhaps?


When learning why it’s gone wrong has gone cold.


I agree: when you've stopped learning.


This isn't a project that doesn't work. It's a project that doesn't attract users. Different problem.


When it's 95/5. Giving up at 90/10 is dumb, but 95/5 is where things tend to stall out.

Alternatively, just don't give up. Make it work. Completionism is vanishing, many amazing things have been garage projects for 15 years. Be determined and create your own advantage.


I gave up on mine when I learned it was equivalent to type inferencing an F_omega language, and that such a task was Turing unsolvable. It was a bit of a relief because after three years I wasn't getting anywhere on it (unsurprisingly).


Seems like a lot of unnecessary self flagellation for a side project that mostly worked.



When something more exciting tickles your fancy. Don’t punish yourself when doing hobbies. That’s what hobbies are for: to be ephemeral and transient and glib.


When you give up on it, please archive it and release it into the public domain.

Without Xerox doing that, we would not have PCs.


Well before giving up try to pivot it into something but having one unfinished projects are a really good way to learn something new.


When you care more about it working or what others think, stop.

"Always get out of the saddle smiling, or you won't get back on."


You may just call it "put on hold indefinitely until I feel picking it up again."


Or as I do it: "This is now part of my uber-mega-big catch-all project"

Which is the same thing really, but now my uber-mega-big catch all project has more junk to sift through when I do eventually get to revisiting that sector.


As soon as you know it won't work. Of course, that's the hard part. The level of near-delusion required to get something off the ground makes it very difficult to know when to let go.


We spend our lifetimes on projects that won't work in the long-term.


Can we have a minesweeper on a Penrose P5 tiling while we're at it?


Hey guys I built a directory website with No-code, where I'm curating over 5000 No-code tools and resources - kindly check it out and add yours https://Nevacode.framer.website


Just transform your project to something new and better good luck


OsmAnd has this feature


I honestly haven't had a single instance yet where I didn't regret abandoning it ~5 years later when something similar took off


Just to be clear, you've regretted abandoning projects every single time? Or just when a similar project took off? How often has the latter happened?


Every (startup) project I've ever abandoned I've eventually regretted abandoning, over the course of my life 5 times if I'm counting right, things like "there actually was a market for that", "with what I know now [insert limitation here] wouldn't have mattered", "thing I did for someone else instead of X eventually bore no fruit but I never went back to X" etc etc etc, going all the way back to the first one in 8th/9th grade where I spent two years working on a product and gave up when I only had one sale two weeks after launch (just needed time to gain momentum, there was lots of demand but I wouldn't realize this until many years later, at which point that whole vertical wasn't really a thing anymore and it was way too late).

Github projects on the other hand, some of mine I'm definitely fine with them rotting, like my crystal lang ORM for monogo db.


Thanks! Seems like you had excellent ideas, for all to end up being workable.

I did similar at about 15yo, wrote a game, exhausted myself actually completing it. A game store agreed to stock it, I just needed to supply the game on media and packaging. I looked into it... runs of 100 copies... but didn't do it. Eventually made a pity-sale of 1 (one!) copy to a hobbiest.

The lesson I took was that the business side was as important as the technical side. I noticed many startups had two guys, one in each role, since they require incompatible value-systems.

Despite all the talk of "testing hypotheses", I think many of these things about the market are simply impossible to deliberately find out - just have to keep trying and learning about it: research, discovery. It requires faith/hopefulness/optimism - unreasonable, unjustifiable. With my later business that did work, I remember imagining/visualizing customers that were assessing my product and soon would buy (plausible, because the product was good; the market just needed to realize it!).


When it begins killing against your wishes?


I just wrote about this in for my Substack "For Starters".

https://forstarters.substack.com/p/for-starters-14-when-do-w...

TLDR; If you're asking the question - you should probably stop. If you're still unsure, set some specific, short-term measures of success and stop immediately when you don't achieve them.


For vague, nebulous, frog-boiling decision-points, it's good to decide on a threshold, for what would it take, for you to decide to stop.


When it stops being fun


> and many of the prominent articles that showed up were things like YouTube headquarters shooting" and "Death of Jeffrey Epstein" while more interesting places like "Pittock Mansion" and "Ghirardelli Square" were hard to come by.

I had a very similar project idea few years ago, but I was going to use wikitravel.org as the source of data.


Thanks for sharing!


> the fact that the popups often don't load until all the page views are fetched (I'm assuming because of some rate limiting on Wikipedia's side),

Its a nice idea, but the Wiki backend might be the reason why they abandoned their own geolocating website efforts, which might be what you are now experiencing.

I think it would be nice for Wiki, to have an option which includes geolocated wiki articles in the surrounding area, just like they have the "see also" at the bottom of the page sometimes.

Problem with this though, is this feature might also not exist to prevent article stuffing in tourist areas, or area's where realtors/estate agents might be trying to sell expensive property.

Nice effort and article.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: