Prioritising Side-Projects

Like most software-developers, I have an endless backlog of things to work on. This applies to my side-projects too; I jot all my ideas down in a GTD Obsidian inbox, work on some of them, and leave most for years.

The list is fifty ideas long now (after deleting a lot of crap ideas) and it's hard to seperate useful ideas from ones that are too niche or difficult.

So, I tried assigning (1-10) weighted scores to each idea, and ordering by goodbad\frac{good}{bad}

I didn't expect this to work, but it sorted projects surprisingly well!

Project difficulty uncertainty learning impact time score
Distribution of blur in uploaded photos 2 0 2 3 3 1.02857
Run a subprocess with .env file 2 2 1 4 3 0.781818
Rsync logs down, pull into somthing searchable, grapahble, one process, no installs otherwise 4 2 2 6 5 0.776471
Alarm label for todoist 5 2 2 6 4 0.733333
enable fn logs and traces, narrow down with grep. Userland strace 6 5 6 8 6 0.7
Highly interactive debugging 7 7 5 10 8 0.638889
Metric connection tool for tie into clockwok 5 3 3 6 6 0.627273
Lens based JQ 8 8 10 9 7 0.615385
Generate high contrast versions of light colour schemes programatically 6 5 6 6 5 0.577778
Use a shell-parser to parse through history and extract commands 6 4 6 5 4 0.566667

Score-based sorting hid most projects too difficult to be worth the effort, and bumped a lot of easy to moderately difficult projects with sufficient usefulness.

Takeaway Points:

Addendum, October 2024

It's interesting for me to look back at this post after a few more years in the software development industry. I can't say this is a great selection of side-projects.

So maybe two of these are useful (Lens JQ and userland strace), though tools already exist that are roughly sufficient.

What I've learnt in the past few years is: