How to make a side project last

In the past decade or so I've started and abandoned numerous side projects so here's my biased opinion about side project maintenance - Easy deployment and minimal dependencies is the 'make or break' for side projects.

The flow of most of the abandoned projects looks like this:

  1. Get excited about a shiny new idea.
  2. Build it
  3. Deploy it
  4. It runs for about a year.
  5. Oh no, a bug
  6. Getting the dev-env + deployment up and running will take an hour so I never get to actually do it!
  7. ☠️ Dead project ☠️
The ones that are still active all share one thing in common - dead simple development env + deployment mechanism.

My best project is using this tech stack:
  • Only language - golang
    • compiled to one statically linked binary so the deployment is just scp and run
    • strong type system - I get some degree of protection even though I don't write any tests.
  • Dev container for the development env with a static go version.
  • Version control - private github
  • Server - Raspberry Pi
  • Transport - Telegram
    • Telegram bot system is trivial so there's no need for a dedicated domain.
That's all the infra - no domain, no db (just json files), no complex deployment workflow.
It allows me to easily jump right in whenever I need to fix or improve an year old project.

Popular posts from this blog

Tricking our prehistoric brains to spot a bug a mile away

I'm using dev-containers and you should too

Can a 1.4GB LLM Be My Local Search Engine? (spoiler: yes)