[HN Gopher] Ups and downs of a side project
       ___________________________________________________________________
        
       Ups and downs of a side project
        
       Author : jereze
       Score  : 131 points
       Date   : 2022-12-28 09:04 UTC (1 days ago)
        
 (HTM) web link (jereze.com)
 (TXT) w3m dump (jereze.com)
        
       | nip wrote:
       | It took me roughly 2 years to find "success" with my side-project
       | / micro-saas: users using my product on a daily basis.
       | 
       | I've found that the hardest part is the "post-launch" / "first-
       | user" phase, where one needs to have the fire / resilience to
       | keep building / marketing without (what it feels) anyone caring.
       | 
       | Once the first users (and feedback) start coming in, it becomes
       | much easier to keep shipping.
        
         | sum1ren wrote:
         | Thanks for sharing your experience. I definitely have given up
         | on marketing/selling my projects after just a month or two of
         | trying.
         | 
         | Going to try a little longer this time.
        
       | [deleted]
        
       | sasha_fishter wrote:
       | Exactly that. Well written. We all share the same situation, the
       | winner is, tough, the one who can overcome all this issues, or at
       | least be better at them than others.
        
       | revel wrote:
       | It's not mentioned here but one of the biggest mistake
       | experienced hires make on side projects is throwing out all the
       | project planning that would normally be done if it was anyone
       | else's project. Honestly, if you can't draw a stick 'n' box flow
       | of what you'll build, you are, to put it mildly, highly unlikely
       | to build it.
        
         | imhoguy wrote:
         | I could explain this as I was there many times - planning is
         | not fun for a creator in passion.
         | 
         | The fun is to code some clever software solution and make it to
         | work and show to friends or just keep for own pleasure, then
         | boring stuff starts: user accounts, payments, maintenance,
         | human contact, complaints, and here 99% of projects fail.
        
       | cddotdotslash wrote:
       | I've bootstrapped a side project before (in the B2B security
       | space) which was later acquired. I had a _lot_ of ups and downs,
       | but the "up" that consistently outweighed the downs was getting a
       | new user and seeing them convert from free/trial to paid. There
       | is something incredibly tangible and rewarding about seeing MRR
       | increase.
       | 
       | Because of this, I approach side projects from the perspective of
       | getting to revenue as quickly as possible, as opposed to, for
       | example, hacking away at something just for fun or learning
       | something new. Those are entirely valid reasons to start side
       | projects, but I personally don't get the same motivation from
       | them and have found myself quickly getting bored.
       | 
       | My personal preference is to focus on SMB/mid-size B2B SaaS with
       | the goal of eventually replacing full-time job income. For me,
       | consumer SaaS is too small - you're making $5-$20/month/user and
       | therefore need 100s or 1000s of users to reach that goal.
       | Enterprise SaaS is too difficult for a side project (sales cycles
       | are too long/complex). Most mid-size companies are willing to pay
       | a few hundred/month for a good service. As an example, if I can
       | charge $300/month, I only need 50 customers to generate the
       | equivalent income of a decent-paying tech job. The challenge, of
       | course, is finding an idea that meets those requirements!
        
         | [deleted]
        
       | me_smith wrote:
       | I appreciate many of the comments here. I don't feel alone.
       | 
       | I've been working on something for a couple years (off and on)
       | and some days/weeks/months my motivation takes a nose dive to the
       | point where I stop work completely. Eventually I get back into it
       | but one of these days, I might drop it completely.
        
       | inezk wrote:
       | I appreciate author sharing the learnings, that being said given
       | product is not very successful I question the value of such
       | learnings.
        
       | rozenmd wrote:
       | It's taken me about 4 years to find success (in my opinion, YMMV)
       | in a side project, you rarely hear about the average case.
       | 
       | OnlineOrNot was my 6th project, first to break even.
        
       | marginalia_nu wrote:
       | I've found perhaps the biggest obstacle to working on my side
       | project is something like lacking vision. If I have an idea, it's
       | never hard to implement. Usually it works, sometimes it doesn't
       | but at least shit gets done. The larger the project has gotten,
       | the more planning it needs, and that's I've historically
       | struggled with. Sometimes I don't quite know what to do next, so
       | I sort of fuss with the code and don't really make meaningful
       | changes. Always gets me in a bit of a funk.
       | 
       | I don't think it's so much about motivation as having a structure
       | to your work that allows you to get shit done. I think motivation
       | follows hard work and seeing results, it rarely precedes it.
       | Attention from the press or social media or stuff like that can
       | also briefly be motivating, but it wanes very quickly and is not
       | very reliable.
       | 
       | It's helped to make notes of my ideas as they come. I have
       | literally a wall of post-its that say something like "LSH", or
       | "middle platonism is processed weirdly", or "34 bit URL ids" or
       | "refactor query variants ASAP". It's not prioritized like a
       | backlog, but just a jumble of ideas I've had about what to do
       | next while working on something. It's been pretty helpful to
       | essentially have a work pool to pull tasks from.
       | 
       | My project naturally has 2 month "iterations" because that's how
       | often I do a new crawl and load crawl data, which permits
       | breaking changes in the underlying data structure. So I'll just
       | pull improvements from my wall and try to distribute the work
       | evenly so it progresses in a meaningful sense.
        
         | di456 wrote:
         | > My project naturally has 2 month "iterations" because that's
         | how often I do a new crawl and load crawl data
         | 
         | I have a similar project type and timeline, and going through
         | one of these iterations now. Could you share how you persist
         | your data in between iterations?
         | 
         | For mine, these were some of the bigger iterations that were
         | spaced out over several months:
         | 
         | 1. I started out by writing raw http API responses to python
         | pickle files. Scraping via api.
         | 
         | 2. Then wrote some analysis logic in python that read the
         | pickle files, and outputted to a csv that I could use for
         | analysis in spreadsheets.
         | 
         | 3. Scaled up to a couple orders of magnitude more data size,
         | and multiple datasets. Added logic to bulk output any dataset
         | to flattened CSV, then bulk import the CSV's to sqlite tables.
         | 
         | For each of those I had to rethink the code, simplify it, and
         | make some parts generic where there was a common need.
         | 
         | I think my next big push will be loading new data to SQLite
         | incrementally, and figuring out how and where to persist the
         | SQLite data cheaply. Right now it's local but too big to check
         | into a GitHub repo.
        
       | bob1029 wrote:
       | The article touches on organizing code which has an interesting
       | aside for me.
       | 
       | When I work on side projects, I certainly encounter periods of
       | boredom or disengagement. What can help is to say something like
       | "you know what... I am just going to rewrite this and make it
       | much cleaner". Only feature parity. Not trying to force anything
       | new or trick myself into solving a hard problem right now.
       | 
       | Sometimes this simple cleanup pass will turn into several hours
       | of deep exploration and development. Sometimes not.
       | 
       | I think of this similar to intense physical exercise. No one in
       | their right mind goes to the gym and deadlifts their 1 rep max
       | without at least a tiny amount of warmup beforehand.
       | 
       | If you are on this path and trying to build a real thing that
       | people might actually want to pay for (or is at least compelling
       | enough to work on for free), you are dealing with a similar
       | mental barrier. Warm yourself up on smaller, more approachable
       | tasks if you are finding trouble with motivation. Rerun a
       | successful prototype from last year to remember why you are still
       | doing all of this in the first place.
       | 
       | Also, if you aren't using source control for your side projects,
       | you really need to get into the rythym. Every personal project I
       | have worked on since ~2017 has a repository tracking it in
       | Github. It takes me 10 seconds to find that clever chunk of code
       | from a few years ago using their global search feature. Little
       | tricks like this keep me from spiraling into distracted
       | nothingness. If I had to manually browse through folders in my
       | filesystem or dropbox, I'd never touch this stuff again.
        
         | tta wrote:
         | I feel this too, and I've learned to accept that this is just
         | the way my brain works. Once I've lost my motivation for a
         | certain project there's really no point trying to force it
         | back, and besides, this isn't such a bad thing. The whole point
         | of a side project is that I can work on what I want, even if
         | that means doing something new every 4-6 weeks.
         | 
         | I create a "project" in my to-do list app for each side
         | project, and dump every little idea I have in there while I'm
         | excited and switched on about the idea. When my motivation ebbs
         | and eventually returns (months or years later), I have a low-
         | friction starting point to jump back in, which makes all the
         | difference.
         | 
         | Jumping into a months-old codebase _and_ having to figure out
         | what to build next usually means I feel a bit discouraged and
         | never really get back to that project.
        
           | bob1029 wrote:
           | > I have a low-friction starting point to jump back in, which
           | makes all the difference.
           | 
           | This is potentially the most important idea raised so far.
           | 
           | Making smaller, deliberate steps can many times take you a
           | lot further than 2-3 gigantic, messy sprints.
           | 
           | I don't beat myself up over "only 10 minutes" spent on the
           | side project anymore. Even if no value-add occurs, as long as
           | I didn't make things _worse_ , I see it as a good experience.
        
             | throwaway4aday wrote:
             | > I don't beat myself up over "only 10 minutes" spent on
             | the side project anymore
             | 
             | This is like the "1 pushup" rule for exercise. Stated
             | briefly, you don't consider any day a loss where you have
             | done even the smallest amount of deliberate work. This has
             | many benefits, it makes for an easier on-ramp to doing the
             | work since your goal for the day is the smallest possible
             | amount of work. It builds the habit of doing something
             | every day. It more often than not leads to doing a lot more
             | work than the bare minimum. It builds a sense of
             | achievement as you continue streaks of work and see
             | progress. Most importantly, it actually does move you
             | towards your big goals one tiny step at a time.
        
       | bmitc wrote:
       | I have several side projects. While I contribute to the ups and
       | downs, the usual dagger that grinds things to a halt is hitting
       | some bug in an open source library or language that I don't have
       | the ability, expertise, what have you to fix. Inevitably, the
       | library is maintained by one person who is minimally active,
       | despite being used by tons of people, and so I just get stuck.
       | Software is a very frustrating endeavor. Not complaining about
       | people's time, just the fragility of the tower of stuff software
       | stands upon.
        
         | gdcbe wrote:
         | You made the tower yourself, no? Not to sound snarky but by
         | making sure that (1) you do not lock yourself into any
         | dependency and (2) you keep the use of dependencies to a
         | minimal you do prevent most of that pain? At least that is my
         | opinion. As a temporary workaround (sometimes permanent) I opt
         | for a fork, which when kept to the bare minimum is usually not
         | more then a minor annoyance.
         | 
         | That's at least my experience...
        
           | [deleted]
        
           | bmitc wrote:
           | Well, the option is to rewrite the entire stack yourself. So
           | sure, let me spend a lifetime doing that instead of things
           | I'd like to be doing. I already opt for minimal dependencies.
           | The problem is that every piece of software I have ever
           | interacted with has had bugs that immediately surface, and
           | nearly universally, there's only a handful of people that can
           | fix them. I can't possibly be expected to reimplement or even
           | fix projects that have taken decades to develop.
           | 
           | You say don't lock yourself into dependencies. Well, to
           | create a window on an OS, you have no choice but to have a
           | dependency, because that's how the real world works. The only
           | option is to write your own OS, but even that has
           | dependencies.
        
             | marginalia_nu wrote:
             | That's what I typically do.
             | 
             | I'll make sure that the libraries I rely on are either
             | ridiculously well proven, or easily replaceable. If they
             | are neither of those things I implement a new one myself
             | from stuff that is, while no doubt just as buggy, it's at
             | least code I can easily fix myself if it breaks.
             | 
             | Usually it's not that much work. I'll just implement what I
             | actually need. Many open source projects are hilariously
             | over-designed and have significant feature creep. If you
             | cut that out you can replace the critical components with
             | not a lot of code and not a lot of hassle.
             | 
             | If it can't be trivially re-implemented, I've been known to
             | fork an existing project and take a grinder to it until it
             | does what I want, usually axing away most of what I don't
             | need to only expose the code I need.
        
           | xnorswap wrote:
           | That's a really bad attitude. I ran into a bug in NPM that
           | prevented our CI builds running entirely.
           | 
           | That NPM bug still isn't fixed (despite the bug having minor
           | security implications), but there's no way I'm re-writing
           | everything to not use NPM, it would be absurd, nor is it
           | sensible to fork NPM and invest time into fixing the bug.
           | 
           | I ended up putting in effort to work around the bug entirely,
           | but it was only coincidence that we could go without the
           | feature that triggered the bug because we were going to
           | deprecate that module anyway.
           | 
           | Are you really suggesting that developers don't "lock
           | themselves in" to NPM? It's one of the most prolific projects
           | that exists and it would be career limiting to avoid using a
           | package manager or all dependencies entirely.
        
             | sokoloff wrote:
             | Was the same bug in yarn?
        
             | prmph wrote:
             | You could try pnpm or yarn?
        
             | flippinburgers wrote:
             | It sounds like you have informed npm about the issue? If it
             | is a widely faced issue, chances are that the maintainers
             | will fix the bug. On the other hand you might be using npm
             | in a way that is rather fringe.
        
             | creakingstairs wrote:
             | You probably already know but I found patch-package [1] to
             | be crucial when relying on minor npm packages. It's so
             | freeing to be able to just fix it on your end and move on
             | (and also raise a PR against the package)
             | 
             | [1] https://www.npmjs.com/package/patch-package
        
               | xnorswap wrote:
               | Thanks, but this was a bug in _npm itself_.
        
               | creakingstairs wrote:
               | Ah my bad! Luckily I haven't ran into one of those yet
               | and I'm hoping I never will :p
        
           | shanebellone wrote:
           | This x 1,000
        
         | imhoguy wrote:
         | I try to sort out the dependency issue with one of the
         | following solution (order relevant)
         | 
         | 1) fork and fix, submit PR and use my fork until PR is not
         | merged, if ever;
         | 
         | 2) find replacement;
         | 
         | 3) remove it and find workaround to implement the user feature
         | in other way;
         | 
         | 4) just completely abandon the feature.
        
         | flippinburgers wrote:
         | What "stack" are you using for your personal projects that is
         | both widely used but so poorly supported that a bug crops up
         | that prevents you from forward progress? I am genuinely curious
         | about this because I can say that I have never had that
         | experience with something that is popular. Then again, I am an
         | extreme minimalist when it comes to introducing 3rd party
         | dependencies into the code that I write.
        
       | vstollen wrote:
       | I wonder how the operational burden for a side project is.
       | 
       | One of my key worries is that if I sell my side project to real
       | users, I have to patch it, I have to monitor it, I have to answer
       | support messages and fix it if it breaks for whatever reason.
        
       | vare2 wrote:
       | I'm always curious as to how side projects that are so niche and
       | targeted acquire users. I would like to ask the author how much
       | time and effort he has dedicated to marketing and what he learnt
       | from it.
        
         | xyzzy4747 wrote:
         | The easiest way is to build something for an existing community
         | where you are not disallowed from promoting your own stuff.
         | Ideally you need a way to talk to a lot of target users without
         | having to pay money on advertising.
         | 
         | As for ones that manage to gain users without latching onto an
         | existing community, I'm wondering as well. Perhaps good SEO or
         | searchable content generation?
        
         | nov21b wrote:
         | This may be the hardest part, especially for technical
         | founders. I was able to bootstrap a profitable subscription
         | based service. In hindsight most credit should go to my wife
         | for getting in the first users by engaging family, social
         | media, forum posts and what not. Another major factor were my
         | subscribers, who write site content on a daily basis, this
         | generated a ton of organic traffic to my site and made a big
         | difference vs having to write a couple of static SEO optimized
         | pages and hope for the best. Writing the actual code was
         | probably the least important part (but the most fun for sure)
        
       | samsquire wrote:
       | I don't have any business side projects or anything that earns
       | money but my motivation fluctuates like the author of this
       | article.
       | 
       | I am super grateful for Python, Java, JavaScript, C, Rust, Flask,
       | Firefox, Google Chrome, the Java Virtual Machine, Google's V8
       | engine, GCC, Postgresql, Clang and other open source projects.
       | They allow me to write software and get paid money in jobs. And
       | they're completely free. So good.
       | 
       | People like choosing what they work on and what they spend their
       | time on. But there's business necessity that means we often need
       | to do tasks we secretly don't want to do. Or feel forced to work
       | on technology we don't agree with.
       | 
       | I think it is unfortunate that amazing products go the financial
       | path and then lose their energy and become monetisation over
       | quality or passion such as Heroku But I said that we cannot force
       | people to work on things we want them to.
       | 
       | I feel we need to determine the properties of a product that
       | guarantee monetisation AND quality and passion of its developers.
       | 
       | Are Jetbrains the example of this?
        
       | idearoots wrote:
       | I wish there was more content like this - "making hundreds (not
       | thousands) of $ in MRR after y years".
       | 
       | Give a dose of realism and pinpoint the second benefit -- the
       | skillset that is truly unique and worth it.
       | 
       | You no longer care about an isolated Jira ticket. You see a
       | thread from vision to execution. As a dev, you start to value
       | other parts of the company and build better bridges/interfaces
       | between teams.
       | 
       | As someone said, building something on your own feels like
       | staring into the abyss and eating glass. Be aware, it's not for
       | everyone and can cost you -- not only $$$ but relationships and
       | health.
       | 
       | And that is even if you are passionate about the thing.
       | 
       | It reminds me of Steve Jobs's thoughts on this
       | https://www.youtube.com/watch?v=PznJqxon4zE&ab_channel=coach...
       | 
       | Having started a side project in 2018 myself (now in low $$$$
       | MRR), I can attest that passion is key -- because it's what you
       | would do in your free time anyway.
        
         | thundergolfer wrote:
         | > now in low $$$$ MRR
         | 
         | Does this mean low thousands?
        
           | idearoots wrote:
           | sorry, yes
        
             | sredevops wrote:
             | Feel free to drop a link. This is HN!
        
               | loobuz wrote:
               | https://neuracache.com/
        
       | chasd00 wrote:
       | I know from lots of past experiences that I have about 6 weeks of
       | attention before something else shows up and gets me excited. All
       | my side projects get scoped to 6 weeks or I don't do them.
        
         | TobTobXX wrote:
         | This is my experience as well. Though, whenever I care about
         | documentation and stuff like that, I'm usually able to return
         | after half a year and can continue.
        
       | verelo wrote:
       | I really appreciate reading this, i lay in bed this morning
       | feeling all the doubts the author is experiencing. I've spent
       | about 3 months on a new product, i spent all day yesterday trying
       | to figure out how to sell it effectively. I met with sales reps i
       | worked with in the past, wrote really thoughtful messages to
       | prospects...No one has bitten yet.
       | 
       | I've been here before, this is certainly not my first startup,
       | but man it hurts still. I feel like I'm missing something,
       | despite all my efforts, I'm just not there yet and i need to step
       | back and try figure out the missing pieces before i burn too much
       | time.
       | 
       | It'll be ok, but until it is ok, it's exhausting.
        
         | moneywoes wrote:
         | What market or niche? Is this a SaaS?
        
           | verelo wrote:
           | Real estate and yep SaaS, although I kind of want to offer a
           | pay per use model along side it. Just feels complicated to do
           | both, i'm personally a little exhausted by the number of
           | subscriptions in my life.
        
         | SuoDuanDao wrote:
         | what are you working on if you don't mind me asking?
        
           | verelo wrote:
           | It's a tool (focused on the Toronto market only for now) that
           | provides detailed reports on the history of a building / area
           | for realtors and/or buyers (and i guess maybe renters or self
           | sellers).
           | 
           | Trying to bring together a lot of open data sources such a
           | building permit history for the property in question and the
           | neighbours, nearby proposed development activity, schools,
           | hospital, police, fire service locations, lead pipe
           | replacement status, legality of any on premise parking etc.
           | Essentially all the "due diligence" related items that come
           | up when you're trying to transact and typically take a fair
           | while to get to the bottom of. A report takes about 1 minute
           | to pull, planning to have the service be a yearly
           | subscription for the customer of around $300/year
        
             | pards wrote:
             | This sounds similar to what Core Logic [0] provides to
             | realtors in Australia. The majority of realtors use it, and
             | I'm sure they pay a lot more than $300/year
             | 
             | [0] https://www.corelogic.com.au
        
       | didgetmaster wrote:
       | >The thing is, as a coder, you will be more attracted by generic
       | product. Generalizing is more elegant, and if, like me, you like
       | to solve problems, you will want to try to figure out a bigger
       | problem than your initial scope.
       | 
       | This is a major issue with my side project
       | (https://www.Didgets.com) which is a general-purpose data
       | management system. It started off as a 'file system replacement'
       | where you could use it to store tens or hundreds of millions of
       | files; put tags on each of them; and then do lightning fast
       | searches to find subsets of them.
       | 
       | I discovered that the tags I invented could also be used as
       | columns in a columnar database table. So I went off inventing a
       | way to build fast relational tables that were good for both
       | transactions and analytics. I also discovered that the system can
       | be used to build logging frameworks, indexing services,
       | configuration management, and backup mechanisms.
       | 
       | The problem is that I don't have the resources to fully build out
       | each feature set, so it does a dozen things (some of them really
       | well) but none of them are a finely tuned, polished product yet.
        
       | levmiseri wrote:
       | The motivation behind my side projects has been mostly having an
       | entertaining outlet for learning new things. One of these is
       | https://yare.io that taught me plenty about building something
       | end-to-end. From concept, design, front end, back end and failed
       | marketing efforts. Despite 0 revenue, the experience itself is
       | greatly rewarding.
        
       ___________________________________________________________________
       (page generated 2022-12-29 23:01 UTC)