Haunted by my own projects
130 points
28 days ago
| 35 comments
| cassidoo.co
| HN
cadamsau
20 days ago
[-]
If you’re “this close” to the finish line, may I suggest putting your finish line goal into Claude or ChatGPT - or if it’s a web app, into Bolt or v0.

Ask for it in its final state and prefix with “I want to build a ...” - in other words give the model the reins.

If you like what it suggests you can swap to IDE - scaffold a new project and paste the code in. That’ll free you from paid tiers.

With this method I finally made a photo gallery website to thank our guests for coming to our engagement party! I started in v0 to get a nice landing page, then pasted that code into a new nextjs repo. To spruce up the photo viewer, I downloaded the readme.md for a component I like (Spotlight.js - thank you devs!) Next, I pasted that readme - plus the 3 or so key code files from the repo - into a Claude conversation and said “please redo the code using the component documented in the attachment”.

Seeing it run in Claude Artifacts got me over the hump - now all that was left was tweaking instead of big hairy decisions.

(Pre-empting the responses, I agree the workflow is smoother in Windsurf, Zed, Cursor, Cody, Contiue, or Aider. Pasting code back and forth forces me to read it, which leads to finding more bugs and removing more superfluous bits.)

You still have those domains OP! You can do it!

reply
ConfiYeti
20 days ago
[-]
Where is the fun in asking an LLM to finish something you started for fun?
reply
cadamsau
17 days ago
[-]
For me, slowdowns on a project suck the fun out and turn an evening with a goal into a disappointment that spills over into the next day. It’s a spare time activity so the fun is in the polish, to make it beautiful and amazing.

Thanks to this workflow and these new tools, I get stuck on way fewer bugs and documentation rabbit-holes on my way to something I can polish and make beautiful.

reply
efields
20 days ago
[-]
Some amount of discipline is certainly good, but too much can be bad for your health. It comes down to value.

It's okay to not finish side projects — they were fun for a bit! Good for you for finding some low-cost fun!

I make music in my spare time and in the past year I think I barely have an EP worth of tracks that are _nearly finished_, but I've got dozens of neat loops. I've come to peace with this because the value I'm looking for is in the act of spontaneous creation with my instruments.

I put down movies, tv shows, video games when they start to feel like an obligation rather than a fun pursuit. The value starts to taper off. I think that's okay. I have a day job making computer things, a family… free time is so precious. Why force a non-interest?

reply
eternityforest
20 days ago
[-]
It starts being a problem if the side projects aren't fun for a bit. Such as if they're really big and complicated and absurdly tedious and you only do them because they're "going to be really fun in a year" or something, and you never get there. Or you do and find it's still tedious work.
reply
munificent
20 days ago
[-]
This Reddit comment of mine [1] is very relevant:

I have thoughts about this.

I'm in my 40s and for most of my life I had an unending series of unfinished projects that I felt guilty about. Today, I am able to finish some stuff, including some pretty large, hard projects. Better, I don't feel guilty about the stuff I don't finish.

The trick for me is to be deliberate and mindful about why I'm embarking on a particular project.

If it's because I want to feel good by:

* Sharing something with others.

* Accomplishing a difficult, challenging task.

* Proving to myself that I can do something.

* Getting the social cachet of being a creative, productive person. (Maybe this is shallow, but who doesn't like to feel impressive in the eyes of their peers?)

Then the goal of the project is the product it and I focus my attention and discipline on it. I try to have as few of these as possible—like only one at a time—so that my willpower is not diluted.

If it's because I want to feel good by:

* Improving a skill.

* Exploring an unfamiliar domain or learning something new.

* Relaxing by tinkering on something I like.

Then the goal of the project is the process and I don't feel bad about not finishing. The real treasure is all the stuff I learned and did along the way and there is no real destination. I can have as many of these as I want because there's no real failure mode here. They're all recreation.

Once I got more honest and clear with myself about my goals for each project, I started to be able to finish the ones where that mattered and stopped feeling bad about the ones where it doesn't.

[1]: https://www.reddit.com/r/AskReddit/comments/p71j9x/what_do_y...

Ironically, I've been meaning to polish this comment up to be a full article for a while but haven't gotten around to it yet.

reply
ashton314
20 days ago
[-]
> Relaxing by tinkering on something I like.

This describes a large number of projects that I start. Getting comfortable that this is the real reason behind a lot of what I want to do and being OK with something being unfinished goes a really long way to not stressing about unfinished projects.

> Ironically, I've been meaning to polish this comment up to be a full article for a while but haven't gotten around to it yet.

Lol. Just slap it in your blog. Right now, just like it is. Then maybe go and polish it up. Or set a pomodoro timer and polish it right now and publish once 25 minutes have elapsed or something.

I once sent a professor in my department my favorite Emacs packages—he's an Emacs user too but was wondering what some of the hot new packages were. When I sent him a long-ish Slack message, he just said to publish the list as-is on my blog.

I was initially unsure—I do like to do several drafts—but I decided it couldn't hurt. I edited a little to make the grammar more correct, but it landed on my blog and is currently the most-visited post. Go figure.

So, for those stuck on publishing posts on their blog: just post. Post post post post. Don't over-think it. Don't try to have the flashiest blog post. Just write. ;)

(The Emacs post, for those curious: https://lambdaland.org/posts/2024-05-30_top_emacs_packages/ )

reply
wvenable
20 days ago
[-]
I've gotten a lot better at "shipping" hobby projects in the last few years.

I still start a whole bunch of things and then get busy or distracted or it stops being interesting or I hit a roadblock.

But a few years ago I started looking at my existing projects and deciding for each exactly what they need to be releasable. It doesn't mean done; just a good stopping point. And I just try to get there. And then I work on what is needed to release. It's documentation, READMEs, package management, installers, logos, screen shots, etc. And I treat all that as separate project.

For some reason thinking of the release as a separate project helps me to get it done.

And it's now a process that I can repeat over and over. I have all these defined steps that I do now when I release something and it becomes easier to do. Then, at least then if I never get back to one of these projects, I have contributed something to the world.

reply
gavinhoward
20 days ago
[-]
I have spent nearly four years working on my own side project.

I am at the point where I can use it, which means that every feature can be a shiny new thing, yet be small enough to do quickly. So...get to that point as quickly as you can.

But on the flip side, I spent over three years working on my project before it was usable. How did I maintain motivation that long? Pure, searing hatred.

My project is a build system for removing my dependence on CMake. Yes, I hate CMake that much.

Hating CMake every time I had to use it was enough motivation.

So to not be haunted by your projects, run on hatred until you succeed. Or maybe any strong emotion.

reply
thrtythreeforty
20 days ago
[-]
If you're able to replace CMake I'm curious. I don't hate it but I'll admit it's pretty clunky. Is your project open source?
reply
gavinhoward
20 days ago
[-]
As of a few days ago, maybe, but the license is new, so the OSI hasn't checked it. AGPL-like.
reply
_carbyau_
20 days ago
[-]
Cartharticism.

I like to use Bluejuice's Vitriol as a motivating music when I am in that headspace.

" Fuck the whole world and what everybody's saying, hey Good luck and don't dare give up Give it a little bit of vitriol "

Lyrics https://genius.com/Bluejuice-vitriol-lyrics

reply
ashton314
20 days ago
[-]
Hey, I mean, that's how Donald Knuth made TeX: existing tools were not enough.
reply
berdon
20 days ago
[-]
Mirroring other peoples thoughts.

It took me close to 20 years to finally shed the guilt of unfinished software projects.

Side projects can just be about having "fun". Just as going for a walk, or reading a book, listening to music, etc can just be done for fun. I don't have to finish any of these things. I don't have to finish side projects. Fun things don't have to be useful, purposeful, practical, or anything but they should be fun.

reply
Terr_
28 days ago
[-]
Some of it is to identify "wins" that are less than a launch, often involving new learning, experience, or practice.

For example, I have a lingering inactive car project, where I can still say I learned something about poking around with a multimeter, disassembling car parts, soldering, Arduino chips, and CAN buses.

reply
XCSme
20 days ago
[-]
Yes! Every small thing you do is a leaning experience or it refines your skills.

Sometimes, if I have to do something boring, I make it challenging by either trying to automate it, or do it in a more efficient way.

reply
bsnnkv
20 days ago
[-]
It's not clear to me from this article if the author has shipped a version of those projects which are "almost done", or whether they are closed sourced "product"-type projects or edu source projects where all of the commits and progress are public.

I wrote earlier this week on HN[1] about my very recent experience trying to ship _something_ (in the "product" category) to alpha testers in <1d and to an open beta in <7d, and it's something I recommend highly for people who are stuck wanting to go from "almost done" to "done" before shipping.

There is so much valuable feedback to be gained by shipping _something_ as soon as possible, and often just the act of getting that feedback goes a long way towards breathing fresh life into a project you might be starting to feel a little burnt out on.

[1]: https://news.ycombinator.com/item?id=42307710

reply
mlsu
20 days ago
[-]
Things kinda changed for me when I realized that 'discipline' actually should refer to scope.

what's fun about side projects is that the scope is unconstrained. you work on whatever you want to work on. you change scope at any time.

I found it helpful to explicitly think about the scope of my side projects. to answer the question "what will I ship when this is done." The answer is, of course, that it's never done -- that's because the scope can change at any time. the solution is to keep the lofty ideal very large but greatly cut the scope of the intermediate steps.

the answer isn't discipline of "finish it" -- it's the discipline to "scope it."

reply
godshatter
20 days ago
[-]
I have a similar problem and I've built a list of projects that I now cycle between. I'll add new ones as I get the inclination, but I always rotate through the list doing one clear small or medium change. If the project is in a state that I have to do work that I abhor on it to get it far enough to get to the fun bits, I do some small change that pushes it towards that goal, whatever it might be. Just a bit of pain to inch it forward to get it closer to having fun with it. Sometimes, just getting back into a project ignites the passion again and I make serious headway with it. If not, well, it's a bit further along than it was.

I might spend an hour on a project and move to the next one, or I might get excited and stay with it for a few weeks making a medium fix or enhancement. Just knowing I'll come back around to each project makes me feel less guilty about leaving them hanging.

reply
paulbjensen
20 days ago
[-]
I read that post and it was so relatable.

Some projects at work suffer some a similar quirk - the last 10%-20% of the work remaining on the project takes longer than the rate at which the first 80% of the project is completed.

It's like the leftover bits that aren't as exciting or engaging (bug fixes, documentation, little tweaks) always end up making that work feel like a chore rather than a joy.

Years ago a colleague coined a term for their ideal way of working - Mood Driven Development - they worked on what they wanted to work on.

It feels like it has a similar trait to creative work such as art or writing or music - you let the creative block have its moment, then when that passes and the creative juices start to flow, that's the moment to do the work, but if you achieve flow state then it ceases to be work, it's just natural.

reply
surprisetalk
21 days ago
[-]
"discipline" seems to be a key word here.

I've been feeling similarly haunted by projects, which I now call a "one man war of attrition":

[1] https://taylor.town/attrition

It's a weird spot, because you need enough discipline to convince yourself to expend more effort than watching Netflix, but also not stress yourself out.

As a concept, "building in public" has been not great for convincing myself to do more.

I think TodePond's "slippy mindset" might be more useful for these situations:

[2] https://www.todepond.com/explore/tadi-web

reply
joshdavham
20 days ago
[-]
I can definitely relate a bit to this article, but I'd argue that you are in no way obligated to finish these projects and shouldn't have to feel guilt over them. Remember, they're side projects.

Also, I'd consider whether you really truly want to finish these projects, or if you moreso just want them to be finished. I've found that there's a big difference between wanting to work on something and wanting that thing to be finished, if that makes sense. In general, if it's not your main project, if you don't truly want to work on it, don't.

reply
foxglacier
20 days ago
[-]
Some ways I've tackled this:

For hardware, don't even begin to build it until it's fully designed. That sucks the fantasy and freedom away.

Build it to throw away. I built a boat, sailed it a few times, then abandoned it on the beach. That attitude helped me quickly make a useful thing not obsess over perfection.

Have small milestones where it's OK to stop at. I have a few projects that are in service but nowhere near complete to my original fantasy. They're still useful enough.

reply
microflash
20 days ago
[-]
Over years, I have successfully shed the feelings of guilt for not finishing a project. Instead, I just put them out with a section in README (usually at the top) stating the state of project and things that still need to be done to make it to the finishing line.

I’ve found that people may reach out and offer to implement things if your project scratches their itch and get it in a much better shape than it would have been languishing in a private repository.

reply
levkk
20 days ago
[-]
You don't have to finish them, but you should share them anyway. Software is never finished, so hitting the state where you're happy with what you've built isn't likely to happen.

The same philosophy applies to other ventures and ideas. Just ship it.

reply
latexr
20 days ago
[-]
> Software is never finished

This is a common mantra, but I completely disagree with it. I have tons of finished software projects. And yes, I do mean things that need zero maintenance and continue to work after more than a decade without me having to touch the code at all. I don’t necessarily use all of them anymore, but they still work.

And they’re not stuff that’s only useful to me, either. I particularly remember a script I built to unofficially get data from a project. After the project made their own version, I deprecated mine. After years of not using the script, I deleted it. Not even a day later, I had multiple people asking me to bring it back because my version did some small thing in a way they preferred.

Software can be finished, it’s not that hard.

reply
shiroiushi
20 days ago
[-]
I completely disagree. There's always something that can be improved in software. But usually, it gets to a state of "good enough" so people move on to something more important and just leave it. Sometimes, they have to come back to it, perhaps after a long time even, for a bug fix, or to add a new feature, but it may go for very long periods with no updates at all.

Of course, this is all a matter of perspective and semantics.

I suppose if something becomes obsolete enough that no one's interested in developing it further, it could be considered "finished". But even here, it seems like people still have some interest in very old software sometimes, resurrecting it to run on emulators perhaps, and sometimes even making changes (if they can get the source code) to improve its operation on newer systems.

reply
latexr
20 days ago
[-]
> resurrecting it to run on emulators perhaps

That has nothing to do with the software’s finished state. An NES game which runs bug free and without performance issues on the NES doesn’t stop being complete because someone else decides to run it in a different environment decades later.

> There's always something that can be improved in software.

No, there’s not always something which can be improved. There’s always something that can be fiddled with, which is not at all the same thing.

By your logic, no painting is ever finished, nor is any novel, nor any meal, nor any internet comment, nor literary anything. Things are finished when the author decides they completely fulfil their need, it’s not your opinion as an outsider that matters.

reply
XCSme
20 days ago
[-]
> I just know how much work is involved to get them going again, and that amount of work is daunting

This is usually not true. Whenever I get back to something, I realise it was just 1h of work to implement that feature I've been procrastinating 2 years on. We (humans) are very bad at estiamting how long something will take. It's not that finishing the project will be easy, but doing that specific task you've delayed so much, you know what? That's really easy to do, and can even be fun.

Regarding reaching 90% completion. A project is likely never done. What helped me procrastinate less is realising that the goal is not to finish the project, I will never be happy with it. The goal is to make some progress, regardless how small it is. This also fixes the common fear of "finishing a project". If there is no finish line, you are never at 90%.

And, as a last thing: building is the easy part. Once you make the project, having people actually see it and use it will be harder, especially if you are an engineer at heart. So, don't be afraid of making something good enough to be released. Release it. No one will care about it anyway.

reply
thedookmaster
20 days ago
[-]
Re: domains

You can run each project on its own subdomain on a shared domain. Example: app1.mysite.com app2.mysite.com. This can save you tens of dollars a year and save you some headaches. Probably not optimal for SEO, but for random projects it's pretty good.

reply
wkjagt
20 days ago
[-]
This same feeling has now gone so far for me that I often won't even start projects anymore that I would have started a couple of years ago, because I feel paralyzed by the knowledge that I won't finish them anyway. When I do manage to start something new, it's because I've made myself super aware that I'm only in it for the fun of starting something new and shiny, and probably learning something new. Who knows, maybe it'll grow into something more than that, but that's no longer the goal. This really helps me have more fun with my side projects because it's a requirement that I enjoy the early phase too, and not just the hypothetical, far away phase that may never happen. A side effect is also that I have way less side projects, and the ones I do have, aren't stressful anymore.

Example: I'm making a little game for Pico-8. Totally useless, and I'll probably abandon it, but it's a lot of fun right now. I even enjoy playing it :-)

reply
laurieg
20 days ago
[-]
The framing of something can totally affect how you feel about it.

If I set a goal to run 5km everyday and one day I run 4km I feel like I've failed. Somehow not meeting the goal invalidates any positive feelings of running the 4km.

I think a lot of side projects have an implicit, unstated goal of "finishing" or "releasing". This is setting yourself up for the same trap as the runner.

reply
XCSme
20 days ago
[-]
For me it helps if the goal is simply to "run". Without setting any end-goal. Just to start on it, and only do it ad long as I like doing it.

It also helps if instead of "run for 5km" I think of the destination "run to the supermarket, to get some cake".

With side-projects is not "add 3 features". It's "add feature A, which then enables B, C, D functionalities".

Also, the more you work on something, the more questions you answer and even more new questions show up. By doing something on your project, you make progress, you unveil the previously unkown. I like thinking of implementing something not as getting closer to the finish line, but as expanding the horizon and seeing more into the distance, instead or looking at a close, dense fog wall of "what could have been".

reply
mtrovo
20 days ago
[-]
I totally get this feeling. What helps me sometimes is recognising that both working on something and not working on it are valid choices, as long as it's coming from your reasoning. It’s a freeing thought because it means the choice is really mine, not just inertia or guilt.

Compare that to professional life, where so many times we get stuck in death marches, feeling like we can’t say no to projects that have already lost any change to reach their full goal. With side projects, at least we have the control to decide if it’s worth it or not.

Something I’ve started doing that's a very good exercise is brainstorming my project ideas with ChatGPT. I’ll treat it like a project manager, spill all my thoughts, talk through adding features and finding ways to make the idea bigger. If it still feels exciting after that, I’ll dive in. Even if I don’t, it’s like letting intrusive thoughts come and go during a meditation session, afterwards regardless of the outcome I feel I can clear my head and just move on.

reply
CM30
20 days ago
[-]
Oh I know this feeling all too well. Still got some projects in limbo after a decade or so that I feel I should finish soon, but which I never get around to.

And I get it. It's probably best to call it quits on many projects like this. To accept that you've had your fun with the concept, and that you shouldn't force yourself to finish something you've got no more passion for.

But it's easier said than done, and the sunk cost fallacy always lurks in the back of your mind regardless.

reply
fitsumbelay
20 days ago
[-]
for me this issue's been about mindset: having a bunch of incompletes can be frustrating but in the long run it's better to have half finished projects than not, because

1) doing the work is always beneficial for learning and experience

2) rediscovery of an oldie but goodie can be its own endorphine popper

3) more often than not, new goals or circumstances emerge that add new relevance to incomplete bits and pieces

I can imagine there are probably more similar reasons to see unfinished work as investment rather than time lost

reply
pietherr
20 days ago
[-]
Maybe some were just PoCs and they served their purpose.

You could: Pick them up (cd into the project dir) Say thank you cd .. && rm -rf $projectdir

reply
latexr
20 days ago
[-]
If you struggle so much with finishing projects and are frustrated by it, that’s a signal you’re unable to accurately gauge your level of engagement/excitement/motivation/skill/whatever. There is a mismatch between the complexity/size of the projects you pick and what you are able or willing to do.

Seems like a simple solution: do smaller stuff, reduce the scope. Start side projects you can finish in a day, or a week, or whatever you can usually manage. Instead of aiming to build a space shuttle, make a bicycle. Those are fun and useful too. Make your project do one simple, stupid thing. No feature creep, no bells and whistles, just do one thing.

Alternatively, continue as you are but learn to accept yourself. Admit that any side project you start is something you’re not going to finish and don’t make it about finishing, but instead about enjoying the process.

reply
jerf
21 days ago
[-]
I've learned a ton from all my half-completed projects over the years that has factored directly into my skills at work.

I know this sort of sounds... simplistic... but, well, observe that when you aren't thinking about it, the half-finished projects don't hurt you. You just need to extend that to when you are thinking about them.

Your projects are not obligations. Nobody is waiting for them. Nobody is going to fire you, or ground you, or anything else, if you don't finish them. Even if you did put up a post somewhere or something talking about how you've got this wonderful new thing you totes promise will be available in three months... nobody cares yet. And even if they do, well, declare bankruptcy and move on. If that's their biggest disappointment this week they will be in an enviable position.

In fact from a perfectly rational point of view, many of those projects maximize their value to you in precisely the state they are in now. It's quite easy for a released project to go quite negative in value to you, due to obligations suddenly actually appearing, having a system that can be hacked and maybe people who can be hurt by a hacked system, etc.

I developed a rule of thumb from this. It's very klunky, I won't deny that, I never found a good phrasing for it, but I think of "Never engage in an endeavor where the worst case scenario is complete success." It's really my side projects I'm thinking of when I say this. Do I have an interesting idea for how to create a new type of community site or bulletin board or Reddit competitor? Sure, that's fun to program, but what if it actually worked? Do I want to actually own such a thing? Goodness gracious no. So maybe I do the fun part and then just let it sit on the hard drive, and call it a win.

reply
djabatt
20 days ago
[-]
Haunted is good word for it. I have a pile of these too. I made happen over COVID with long time hacker friend. It is called Viddd.co. We were able to help many musicians make a lot of money. We still do it but we have not updated it while. Great threads here
reply
Client4214
20 days ago
[-]
Have you thought about talking with other people about them to see if others would be interested in collaborating on them with you?

I find myself in a very relatable state and also a software dev. I have bursts of motivation at different times of year, but also still have an endless pile of nearly finished projects that I feel guilty about when I have that new shiny project in hand.

Drop me a message if you want to chat.

reply
mikewarot
20 days ago
[-]
My BitGrid project has been in the vague area between the void and the world for decades. It's only now that the pieces are coming together to finish it and finally see if it was actually a good idea or not.

Hang in there

reply
latexr
20 days ago
[-]
> I buy domain names

I regularly read/hear about people who frequently buy domain names and never use them. Why? You already know you’re not going to ship, why waste the money and deprive someone else of the name?

reply
abound
20 days ago
[-]
As a serial domain buyer (currently at ~37 after letting many expire), I can answer this one: generally you aren't purchasing them with no intention of shipping. That happens later.

For me, the process normally goes:

1. Inspiration strikes, I start noodling on an idea

2. I get really excited and start exploring the domain name state space for places to host it

3. Life happens, the idea ends up being bad/hard/some better alternative exists, etc.

I think buying the domain is kind of an accountability thing in some ways, the same way people pay for instrument/language/etc lessons when they could learn online for free. It makes you more committed to the process.

For ideas that I've had, the ones that get domains likely have a much higher completion rate than the ones that don't

reply
azemetre
20 days ago
[-]
It's an interesting phenomena you see across hobbies. I play boardgames and now people that own 100s of games they've never played. I'm part of /r/criterion and people will often post their collections which they haven't seen 80%.

I also own a few dozen domains, movies I haven't seen, and boardgames I haven't played.

I don't know why I do it, probably some consumerist lust and existential dread of possibility never owning much in the real world like property or a home.

reply
chris_wot
20 days ago
[-]
I think... just ship it. Especially if it is an open source project!
reply
codazoda
20 days ago
[-]
If this resonates, checkout the book Refuse to Choose by the late Barbara Sher.

https://a.co/d/emco5Yk

reply
bjt
20 days ago
[-]
I find it can be liberating to Marie Kondo it.

Does that project no longer spark joy? Delete.

But then, I get a rush out of dropping off loads of unused stuff at Goodwill.

reply
_carbyau_
20 days ago
[-]
In these scenarios I find that "I'll just spend 5 minutes looking at it" leads to

1. a rekindle of the spark and time flies. Good.

2. or an assessment of "... you know what, just bin it". Also good.

3. a "meh" moment where I go do something else. Neutral in regards to these projects but fine for your choice of time.

reply
conductr
20 days ago
[-]
For me, it's because the finish line is actually a starting line for another thing altogether. The starting line of a race that I don't really want to run. It's like all this time you've been building, you've just been in a car on your way to the race, then you got there and are in the parking lot and can see the finish line, you just have to get up and walk over to the track. But, the realization of you not actually being prepared for the race sets in, did you bring your shoes? Have you been training? Do you even enjoy running? Meh, let's go get ice cream instead.
reply
tony-allan
20 days ago
[-]
You need to get in touch with @keyvank!

[1] https://news.ycombinator.com/item?id=42332337

reply