Ask HN: What's the longest you spent on a personal project that you gave up on?

34 points by nobody271 ↗ HN
I just wasted five months on an animation that would have been a kind of cool way to animate in a dialog https://steganographyjr.com/s2/index.html. I finally gave up after the hundredth time of thinking all the bugs were worked out only to find new bugs in a browser that I thought worked. When I think of all the actual work I could have gotten done in that time I feel a sense of true loss. I don't know how I threw myself so hard at something so stupid.

44 comments

[ 3.3 ms ] story [ 100.0 ms ] thread
Yes its cool but your time-frame of 5 months is a bit excessive, it could have been done in a day by the right person.
I don't agree. The right person most likely had spent 5 months prior to get to the point of being able to do it in a day.

This 5 months of trial and error is called learning.

The lesson learned is to stop and think "is what I am working on now worth the time". I do waste time sometimes but normally end of day or lunch time make me reflect on the value of what I am doing. Getting out of the coding zone and into the self managing zone if you will.
My wife keeps reminding me that I started building the shed 7 years ago.
I'd mention my attempt at cloning a simple video game (Berzerk) that I started two years ago, which has only wound up with my having built, destroyed, rebuilt, scrapped and rebuilt an ECS framework, but technically I haven't given up on it yet because I decided I should just make Pong instead, because if I can't manage Pong then what am I even doing, and so I'm working on Lua bindings for SDL for ... reasons. Research, that's what it is.

Five months? Five months isn't anything.

my most productive time writing games was using some proprietary scripting thing (dark basic), back when I didn't know how to do anything else

at some point this degraded into "learn C/C++/OpenGL/direct x", which were good learning experiences, but the goal of making a game degraded into making game engines, none of which I ever finished.

To be fair to myself, I probably have a lot of useful code, I just haven't used it for anything.

I guess the moral of the story is that it's not really a failure if you learn something and keep your work archived somewhere.

I spent about three years working on a webapp for simplifying the RFQ process, specifically for defense projects. Ultimately I decided to finally call it quits on the app when I realized that even if I built this thing, I'd never have the skills/time/patience to sell it. Wish I had realized that sooner!

After work I would typically spend a few hours a night hacking away at whatever feature I thought was a "must have". Suddenly the list of features that were absolutely needed to ship a 1.0 release grew quite long, and was too much to manage on my own.

I called it quits a few years ago at this point, but I wouldn't say I regret my decision to have put so much effort into a project. It gave me an opportunity to contribute to some high-profile libraries like Lucene.NET and Backbone, and I most certainly grew as a developer.

I wouldn't beat yourself up too hard, though. I'm sure you learned a whole lot about browser limitations, animation, and how to manage your time and expectations in the future. If you agree, then I'd say it wasn't a total loss at all.

Are you hesitent to take on new projects now? Part of the reason I kept trying was a resolution to finish my projects.
Not entirely. I do approach new projects with a bit more scrutiny than before, which I consider to be a good thing.

I do a lot of small projects here and there. I'm currently working on one that I've been chipping away at for the last six months or so, but it's coming along at a much more relaxing pace.

While I do think that it's important to finish what you start, I also believe that knowing when to stop is just as valuable.

Little off topic: Seems like Lucene.NET is being discontinued. They're discussing putting it into Apache's attic in the mailing list. It hasn't been updated for at least two years so this isn't super surprising, and they'd need to update it to .Net Core which nobody wants to do.
I admittedly haven't looked at it since I gave up on my personal project, so I'm not entirely sure of it's state. However, a quick glance at the changelog seems to indicate that it supports .NetCore in some fashion.

https://github.com/apache/lucenenet/blob/master/CHANGES.txt

It'd be a shame if they discontinued it! A lot of incredibly smart and dedicated folks have put their hearts and souls into that project.

I have hundreds of personal projects that I pick up, work on, then put down. Then when I neeed that project to do something additional, I pick it back up again, add to it, put down. Move on to the next one.

I mean, I guess I've spent ~15 years writing a text editor, depending upon how you think about the time span.

A text editor? Why? That's an interesting thing to work on.
I guess I always preferred things my way, for how I work. It's not only a text editor (i.e source code, markdown, etc, etc), it technically can open PDF's and Word documents and write back. I can open Excel docs and then write c++ lambda style code behind each cell to do whatever. I can work with my GitHub repos and make PR's, merge, branch, etc.

I enjoy making my own tools.

Have you released or opensourced the text editor? Sounds like a cool tool!
That sounds pretty good. Open source? I'd love to read it, and possibly contribute if its in my skill set.
It is all c++, works on macOS, Windows, Linux, FreeBSD. I could open-source it. I'd have to spend a bit of time tidying everything up. It actually has quite a lot of dependencies on each platform.
3.5 years if you consider my MSc a personal project. There were three hallmark technical failures that are summarized as follows: (a) a computational failure -- at one point I needed to iteratively generate a 3 TB matrix, (b) a mathematical failure -- I made a math mistake, and (c) a software failure -- I tried to use a falsely advertised library to solve the above two problems.

By the end I was knee deep in source code written by mathematicians (read: an absolute mess) trying to fix bugs in code that was not even used in the library, not sleeping, and not eating. I had completely lost my mind.

The taste of failure was bitter on my tongue after the first two failures, but by the last I was truly a shadow of myself. The only lesson I learned from the last failure is that my mind has a breaking point, which is very valuable to know and sense.

My two cents: learn from your failures even if the only lesson to be learned is https://en.wikipedia.org/wiki/Escalation_of_commitment.

I'm very curious and would like to know more about what you were trying to do, what did you need a 3TB matrix for?
PDE constrained optimization. I was optimizing for many hundreds of thousands of parameters. I only needed the diagonal of the Jacobian by the end of the calculation, however it was necessary to build the full dense matrix first without rewriting massive parts of the logic.
I am also working on PDE-constrained optimization. What was the library that was falsely advertised?
Hey nobody271 - don’t be so hard on yourself. Working on failed personal projects is a rite of passage for programmers, and believe it or not, failed projects are important

They teach you about limits, they teach you where you over abstracted, they make you practice other skills (reading code, debugging, deployment, evaluating libraries, making technical decisions and trade-offs) you might not be fully consciously aware of all of this, but while you were building it, you were improving all of this.

your design on the site is top-notch, really good work. You have something to show for your time.

For us highly ambitious, it’s easy to get caught up in the negative aspects of why something didn’t succeed - but that’s only because the self doubt that us creators have (that is neccisary for us to critique our own work) needs to be kept on a leash.

You’re not one of the 99% of society eating Cheetos and watching TV all night, you’re building your skills. You have come out of this a better developer, and that is success in itself.

That's not my design, lol. I just grabbed a template off the internet so that I had something to work with.

https://w3layouts.com/grocery-shoppy-ecommerce-bootstrap-res...

I had never got to the point where I focused on making the dialogs themselves look good. I spent all my time fixing the animation not aligning with the actual dialog and not being able to get an image to animate that wasn't blurry. By the end I had tacked on so much temporary code to work around those issues that changing anything was a guessing game.

I know you're right. I'm still looking for what I learned though.

Did you learn that getting animations exactly right and pixel perfect is an extremely challenging job, and is almost impossible to get working across all resolutions, all devices and all conditions without an exceptional amount of work?

There’s your lesson - in reality is something is not pixel perfect most users won’t notice and most of the ones that do notice won’t care.

You took it way too far down the rabbit hole, pushing resources (time etc) into things that don’t matter, you learnt this was a mistake, and you’ll never make that mistake again.

I learnt this lesson too - making the same mistakes you did. Every programmer learns this in one way or another.

You learnt better resource allocation.

Level up!

I spent 2 years working on my second to last side project before giving up. I’m now 1 year into my current full-time “side project”
What was the side project that you gave up on?
It was a hosted checkout platform for digital service providers, built on top of Stripe, called BillTo (was http://bill.to). I managed to launch an MVP, gain a few customers, and processed ~$40k transaction volume before shutting it down.

After 2 years of ups and downs as a sole founder, I got sick of it and moved on. Lesson learned, I should have stuck with it and figured out other ways to manage my burnout.

Sounds like a roller coaster is that $40k in 2 years?... Still more money than any side project made me....
That was just transaction volume on the platform - I made ~$750 on that after my costs (charging processing fees). The $40k occurred within about a 3 month range after working on it for 1.5 years, and then as my burnout kicked in, volume fizzled out for the final 3 months I put into it before quitting.
I spent over 2 years on a CLI and desktop app for local WP development that went pretty much nowhere. It was a frustrating time to put so much effort into something that failed.
I spent 1.5 years on my food app bestfoodnearme.com but found restaurants really do not have a lot of margin to spend extra money. Project is still running on DO and only runs me $20 a month. I did teach myself Go and still benefit from it. I also go better at Postgresql and server upgrades.
I used to work on a project called AppLandr - which allowed one to create landing pages for their projects via a drag and drop interface.

It’s still live and I spent over 2.5 years working on it as my sole project.

It was fun and I learned a lot through a plethora of mistakes, guides, YouTube videos and so on.

I wouldn’t change anything. I love that I spent so much time learning through AppLandr. I also made some $$$ but that’s another story!

disqualified! That sounds like a success to me.
I didn't make much money for the time I put in - I would call it a failure in that regard!
I had an idea for an iOS app years back that i spent about 6 months developing. It was technically challenging and technically possible, which made it appealing. I'd dump 2-4 hours after work and more on the weekends into it.

Eventually, i realized that the purpose of the app was far too abstract, and while trying to figure that out i fell down the UI rabbit hole (i devved for iOS professionally at the time, but had never designed my own UI). Spent about 3 months trying out increasingly tiny UI/UX ideas until one day at a bar I was showing it to someone, and i just realized how stupid it all was, and shut it down.

I dont consider the time lost. I was able to chop up the app and open source some of the controls and widgets which helped me get another job. Also talking about the design process with my coworkers afterwards helped me figure out that iOS native is basically full stack dev, which got me to switch into backend and AI.

Overall a very positive experience, and the memory of committing to it helps encourage me to dump time into projects in the future (something I still do regularly).

Why are you giving up? It looks like you are pretty close!
Because it's been pretty close for months. I fix one thing and instantly discover something else that needs fixed. Those temporary fixes are all built on top of each other and I started seeing some undefined behavior as a result. It might be almost there but I've had nothing but it's almost there moments for the last several months. I've got far more interesting projects that I've been neglecting for this thing so ...I guess you could say it went outside of an unreasonably large time box.
You didn't waste 5 months, you spent 5 months learning! You could have watched TV reruns, mindless scrolling through Facebook or ranting on Twitter. But instead, you spent 5 months learning new skills and finding out what DOESN'T work.
I spent 5 months on a personal crypto trading/analytics platform and I have no regrets. During that time I learned:

- Crypto coins: understood how they worked on a basic level, trading stuff

- Python: including how to use decorators, unit tests

- Flask: a python web framework to be the web service side

- Pandas: a python data analysis library to get insights on the crypto behavior

- MongoDB: configured and used the service as the database of the whole app

- Microservices: I had the chance to work with microservices for the first time

- Telegram Bot API: Discovered how to basic stuff

Without a doubt, this made me a better professional, even though I don't work with Python on my job.

I'm sure you learned a lot during you project and now you can see things from a different perspective than before, so you didn't waste five months.