It's OK to abandon your side-project

2 years ago (robbowen.digital)

It's a fair point, but I often see all the ideas I abandoned and realize how some of them could have become profitable had I persisted and not lost motivation. Even a tiny setback (say, no response on Hacker News) was enough for me to stop working on the idea, and start working on something new. Of course, you learn a lot along the way, but to have a successful side-hustle you need to learn to sustain and channel the motivation.

As a creative person, motivation is a wild beast for me. Once I lose it for a project, reviving it feels impossible. But the mindset is a bit troubling. I don't think I would ever work on a project long-term working this way. So, while it's okay to abandon your side-project, it's important to make a mental note of why you're abandoning your project and if you can work on something better next time.

  • From your description it sounds like you're placing "making money" / "success" as your main motivation for these projects, which would explain why you're losing it so easily. Extrinsic motivations are very easy to lose, it sounds like you need to prioritise more intrinsic things such as having fun or learning something interesting. Check out intrinsic vs extrinsic motivation

    • This!

      My side-projects went from "constant failures" to "always a success" when I changed my success criteria to be "I learned something new and had fun". Granted, some see it as cheating, but if it improves my happiness, I'm fine with cheating a bit as long as it doesn't hurt others.

      2 replies →

  • Is your motivation validation or learning? If it's learning, each day will be a win...even if your user metrics are trending downwards. If it's validation, your motivation will fluctuate with your traffic patterns.

    • Some projects are purely experimental, while some carry the hope that they can be monetized. My point is that I have a habit of abandoning hobbies, books, writing draft, and side-projects altogether thinking my motivation for them has been lost. I don't believe one should force themselves to finish things, but lost motivation is sometimes temporary or a sign of picking up not-so-good ideas. Realizing that and figuring out ways to sustain motivation is an important meta-skill.

    • I don't know what you mean by "validation" though. Do you just mean praise?

      What if you just want to make some friends in open source? Truth is I've programming alone for over a decade. Loneliness is a crushing feeling, it feels like nothing matters and that everything is pointless. Recently people started generally interacting with my projects: creating issues, emailing me, I even received my vert first pull request. It feels really amazing, a very welcome change and also extremely motivating. Not sure if I'd call it "validation" though.

  • > Even a tiny setback (say, no response on Hacker News) was enough for me to stop working on the idea, and start working on something new.

    It's a risk worth taking. Opening the front page only to find my project there made me very happy and motivated. I couldn't believe my luck. Someone somehow independently discovered my project, posted it on HN, people were engaging with it and somehow I managed to not miss the small window of time where all this was happening.

  • Hacker news traffic lasts just 2 days.

    • And can get completely different response when posted at just the right/wrong time. I've had posts I made that got no attention, just for someone else to post the same thing a few days/weeks later and it reached near the top, with hundreds of comments.

      5 replies →

As long as you complete it, just keep it out there. You never know when your half-baked idea might result in a lead for something new.

It’s fun to go back to old projects and finish them with new skills you’ve acquired over the years.

  • I have a couple Github repos with a lot of stars and a bunch of pull requests and issues. I used to work actively on them.

    However in the past 7 months I've been constantly being told at work that what I do isn't enough, without constructive feedback. Pretty much every single 1:1 is "you're not doing enough" and no action items, not enough compute to do what I should be doing, being left out of meetings, and no access to the data I need. Then the next meeting and another "you're not doing enough". Not one "what's blocking you" and "thanks for telling me, I'll get to work on helping you unblock that". It's so brain draining that coding is no longer fun and I've lost a lot of motivation to maintain things even outside of work.

    • Sounds horrible. Have you tried to ask what makes people think you are not doing enough? Also, have you started looking for other jobs so you can run from this place as fast as you can?

      In any case your priority should be to find a way to fix this before you burn out for good. Losing energy for your spare time is already a big deal. You are mentioning brain draining. 7 months is a long time. Your job should be supporting your life and what you want to spend your time on, not the other way around.

      If you can maybe take holidays. A good break.

      Good luck, you can do this.

      2 replies →

    • My guess is that your company is planning some kind of layoffs, manager received directions to identify XX% of low performers, and he is now building narrative.

      I would invest time looking for new job.

  • It’s like returning to an early area in an RPG and discovering side quests and treasure chests you couldn’t reach before.

    • Total tangent, but I originally found Dark Souls too confusing and challenging and abandoned it. When I came back later for another try something clicked and it quickly became my favourite single player game of all time. It's funny how that works.

      1 reply →

  • good to keep this in mind while you're designing it. "will i be able to maintain this for 10+ years?"

  • What if it becomes so popular it's costing hundreds of dollars to host. Asking for a friend...

    • Don't think you're Google and you have money to throw away... they only do that because they do have money to throw away, but they know that this kind of expense may, in very rare cases, pay off later as they find a market worth exploring further... you don't have that luxury. Indie developers offering free services which actually cost them money only makes sense if they have proven plans to "convert" most free users to a paid plan, otherwise you're literally donating services to your "users".

    • Is the cost mostly bandwidth? Cloudflare free tier is a godsend for static sites. I have a project which is audio-heavy and has used 2TB of bandwith since the start of January. It would have been about $180 of egress costs from S3, but routing it through the Cloudflare free tier CDN with an agressive caching policy has basically eliminated those costs.

      2 replies →

    • That's called "a good problem to have". Seek monetization, funding, scale - popularity is a difficult thing to achieve in a world of infinite choice.

    • Maybe your friend could ask for donations for hosting or find a relevant sponsor to sponsor hosting.

If you're explaining case to English speakers, don't use sentence with "he" and "her" as examples of how English does not have case, and does not allow easy rearrangement. Because those pronouns are the one place in English where vestiges of case can be found, making it confusing.

  • It's pretty hard to come up with examples of how something does not exist. I don't know if the article has been revised since it was posted, but now it uses proper nouns instead of pronouns.

    Another minor nit, verbs conjugate, nouns decline. Otherwise I quite enjoyed the article, although the idea that a 50 character or so regex will cover all your edge cases seems to be optimistic (never studied Latvian, but have some experience in learning various languages with case systems with varying degrees of success).

    • English sentences with pronouns can show that cases exist in English, rather than that they don't.

      Without cases "she gave her number to him" becomes "she gave she number to he".

      Yet, that is precisely what we have when we substitute concrete names for the pronouns, except for the possessive: "Alice gave Alice's number to Bob".

      Pronoun cases and possessives convey the flavor of what it's like to use a language with full-blown case. You just have to use your imagination: what if all the nouns have cases, and there are six or seven of those cases.

      More cases means that, for instance, rather than one "her" word that can be used as "give to her", "do to her", "her number", "go with her" , the language will have different declensions.

    • I think using pronouns with cases like I / me / my as a contrast to other nouns like "dog" would convey the difference.

      > the idea that a 50 character or so regex will cover all your edge cases seems to be optimistic

      At the very least. I'm thinking of Latin, where you can and will have ambiguity which declension a noun belongs to and what gender it is (e.g. frūctus (4th, m) vs pecus (3rd, f) vs pectus (3rd, n) vs actus (2nd, m)), and you just have to memorize which is which, since that entirely changes its endings as well as that of the corresponding adjective. Third declension is also wacky in that the stem isn't always present, e.g. pectus -> pectoris (where the stem here is pector-).

Grit and perseverance are often talked about as critical qualities in building something successful but knowing when to quit and start over is equally as important.

Food for thought, that most "startup" gurus don't preach.

  • There’s a big difference between quitting a side project and giving up on a startup. With the startup, you have other people depending on you.

    IMO, this is the real power you can leverage with a side project, the power to change your mind and bounce between completely different ideas. Those famous side projects that become companies? I’d bet that a lot of them were not the first or even third iteration.

  • I thought it was the other way around nowadays, the 'lean' way?. Correct me if I am wrong, I thought founders are encouraged to pivot if can't find market fit early.

Great story of a successful failure.

The app was a failure, because he learned everything he needed to know by writing the app.

There are a lot of software projects that fail in the sense of not being released or used, but valuable from what was learned in the process of developing it.

  • Agreed, just went through this after spending a year and a half adding a bunch of cool real-time features to an app of mine that no one asked for. Still a win because now I’ve “done it before” :)

I gave up on a side-project

Nearly a decade ago when WASM was new I started trying to implement a pure WASM lua implementation. With eventual goal to JIT, so I was writing it all in Lua to bootstrap

I wrote a macro assembler in lua, & implemented objects, tables, garbage collector, lexer/parser. But when I got to the bytecode VM I got tangled trying to implement opcodes while dealing with "every allocation invalidates references because it's a moving GC"

I was keeping a devlog on patreon (mostly stream of consciousness posts) & had a couple people supporting for a total ~10$/mo. Shortly after development stalled I paused payments

Despite having a successful open source card game (openEtG), Luwa remains my most starred project on github: https://github.com/serprex/luwa

I regretted stalling on this project for a long time, since it was a bit of a cumulation of my minimalist philosophy (wasm without some emscripten runtime, the stack was just another object in the lua heap, etc), & I failed to deliver

I've come to peace with the fact that I'm not Mike Pall

> The tech stack would be simple too. At the time of planning, Svelte 3.0 was the new shiny so I decided to use it for my UI. I knew that I wanted to host everything on Netlify, so for the backend I'd write a couple serverless functions to present the questions and check the answers. The main list of nouns could be served from a static JSON file and, as I'd be the only user, I could safely persist previous quiz results and a high-score to local storage.

To be blunt this is exactly the kind of stack that you'll regret hard if you ever come back to pick up an abandoned project.

They always seem simple at the time when the whole system is loaded into your brain, but will be utterly incomprehensible on cold start in a year, especially when the cool stuff you stitched together has itself respectively moved on several major versions.

I've learned this the hard way from trying to revisit several abandoned projects over the years. Seriously, just use your language's equivalent of rails, and follow all the conventions. That way you can go right to the docs in future and pick up where you left off.

I had a "successful" side project (specialized ERP system). Successful, in that I actually sold and supported a couple of copies. I tried to make thus into a full-time job.

Mistake.

Selling, networking, marketing. Unless you actively enjoy those activities, which will take up most of your time it is just an ugly grind. Plus you lose income, because you aren't working.

  • I had the same experience. When we think about being our own boss we think it just means that we can code whatever we want, when in reality it means we are responsible for _everything_, including things we don't want to do. I too realised then that I absolutely hate selling, marketing, and dealing with angry customers.

It took me a while to understand why I do side projects. Turns out that creating something big is never the answer.

Mostly it's way to learn something new, tackle some hard problems and understand them to a certain depth.

I’m at a point where my hobbyist time in college has translated into excellent product development at work. And now I just…don’t want to write code in my free time. That muscle is getting suitably flexed and I am using my non-work hours for numerous other fulfilling purposes. Maybe one day when I have an entrepreneurial idea worth pursuing I can hit the grindset, but right now is the moment for other things.

  • I'm stuck on this exact same problem. I want to code, but no longer want to do it for the sake of learning. I'll happily code for something that will get me true ROI, but haven't found what to dedicate my time to. I've realized I need to continue to learn, but that no longer applies specifically to the coding domain.

    I don't know if I can do it. Coding has instant feedback, most other things in life are not like that. The lack of instant feedback is demotivating.

> Out of all of my abandoned side-projects, this was the one that made me think differently. Even if I would never actually use the end 'deliverable', working on the project still indirectly achieved what I'd set out to do. That led me to an important realisation: we talk a lot about abandoned side-projects as "failed", but their success is really a matter of perspective.

Very much agreed here, abandoning things helps us eventually priortise other things that we learned from the exercise of building the original thing. I briefly wrote about a similar experience on how thinking too much about maintaining a project for a longer period of time is not really a good idea.

https://buttondown.email/bhupesh/archive/why-its-ok-to-aband...

It's a fun post. I'm still -- after all these years -- a wannabe coder and I love it when a post about coding is something I can actually get through. Maybe someday I shall still grow up to be a real programmer and not just someone with a largely unused certificate in GIS who knows a little HTML and CSS.

> tech-interviewers will routinely measure candidates by the output of their extra-curricular coding

Is this true, or is it a myth? It’s a patently unfair metric to measure someone’s professional aptitude by what they doin their free time, everyone knows it, no one wants to be held to that standard… how common is it, actually, that employers expect you to clock out of your day job getting paid to write code, and proceed to your second unpaid job of writing more code?

I don’t think I’ve ever encountered any indication during the hiring process that a potential employer was disappointed to see my lack of ‘shipped’ side projects. Ever!

Fear of sunk cost is why I only built developer tools so far. As a developer, I know what tool I need to build software quickly and effectively. But unfortunately just as I finished building my no-code/low-code platform, the dev tool market has become completely monopolized. All developers are focused on a tiny number of tools so now I'm forced to focus on a niche outside industry. Thankfully I can use my own no/low-code platform to build such apps very quickly so that's what I'll do.

  • The dev tool market has always been completely monopolised. My own career started with Borland, then Microsoft took over. On Apple it was always objective C, and now Swift. Linux will jump every few years, as long as it's free.

    In truth developer tools are a tough sell because choices today matter 25 years from now. Plus you are selling to a market of people who mostly expect stuff for free, or write it themselves.

    Yes, it's a LOT easier to sell software to pretty much anyone else, so we'll done for identifying that.

    And yes, there are some still selling tools to developers, but its a tiny niche, and has been for 20 years.

  • I just read your thoughts, and hey, I've been there with ozma-io. We're now diving into AI and LLM stuff, and it's super exciting!

    We've got this cool no-code AI feature live: https://ozma.io/ai-business-app-builder/

    It looks like we are at a new level of no-code programming. Real no-code. What if you try to add AI to your tool?

  • Could you share the link to what you have built? Would love to take a look..

    >developers are focused on a tiny number of tools

    Thats marketing. You think the market is saturated but we often see one new product comes and capture the entire market. Sometimes small changes like change of Licensing can swing users away from dominant players.

It is vital to understand how you can maintain your motivation on side projects. Of course it's ok but it should not become the question of your personal development at the end.

How he made this font glowing? Which tool/IDE? https://robbowen.digital/assets/img/articles/lietvards-code....

I had a similar experience writing a dictionary for Japanese person names based on usage frequency. In collecting the data I went from zero to being able to read the majority of names. I did end up making a frontend app for the data but I hardly ever use it.

I'll admit I've had a few times where a work crunch forced me to put down a few side-projects, and I've never had the motivation to pick them back up again. I still stash them on GH for memory's sake.

If you abandon and don’t plan for anything in the future, please MIT open source it. Maybe someone else likes it. So many nice things just disappear…

  • That always sounds easier than it is in reality as usually when you came to terms with abandoning your project you don't want to go back to it and spend time on making sure there's no secrets checked in or hardcoded somewhere. There's no embarrassing comments you want to have public etc.

    • I am now realizing an app I was working on had some "vulgar" function names in tests. they've been changed, but they're still there in version control. I just hope no one looks at the history of tests...

      3 replies →