Johnny•DecimalBlogForum (new!)

Multiple-project systems

The system described so far works very well for a single project, or for one individual’s personal system. But when there are situations when we need more, we expand our system to allow for multiple projects.

The problem

Let’s say you’re a freelancer. You might have set up a system like this.

Some of these examples don't look so great on mobile, sorry. Rotating to landscape might help!

10-19 Administration
11 ... // the usual stuff
20-29 Clients
21 Best client
22 Another client
22.01 Job #1
22.02 Job #2
23 Third client
29 Ninth and final? client

A couple of problems are obvious:

  1. We are going to want to create folders within 22.01 Job 1 but the system says we shouldn’t do that (and we shouldn’t – don’t be tempted!).
  2. This only allows us to have 10 clients.

We might try and fix it like this.

10-19 Administration
11 ...
20-29 Best client
30-39 Another client
31 Job #1
31.01 Requirements
31.02 Quote
31.03 Artwork
31.04 External images
31.05 Final exported files

…but that’s still no good. Now we can only have ~9 clients, and each client can only have 10 jobs.

This problem is an unavoidable consequence of the way that the J.D system is designed: one of the benefits of the system is that “nothing is more than two levels deep”. This is a problem when we need to structure information about clients and jobs which is itself two levels deep. We’ve run out of levels.

Adding projects to the system

I’ve thought about this for a few years, and have been using the system I’ll describe here since 2018. So far it’s working well for me.


The extended system must retain the advantages of the original Johnny.Decimal system.

  1. Each item must have a unique identifier.
  2. You must be able to search (your notes, your file system) for this identifier.
  3. The identifier should be short and preferably memorable.

Letters: no good

I tried systems using letters rather than numbers and they didn’t work. My initial attempt looked something like this:

  • HME.AC.ID = home system
  • DVO.AC.ID = the DevOps project at work
  • ETC.AC.ID = etc. for more projects

Now you just have to remember what those letters mean, and they don’t add any semantic value to your system.

The answer: more numbers

Here were my goals and constraints when introducing new numbers:

  1. It must not confuse the system.
  2. It must allow for a sufficient number of additional projects.
  3. It must allow the user to organise those projects in some way (i.e. like you organise categories in to areas).

The solution is to add a three-number project code to the start of your numbers, e.g. 000.AC.ID. In the abstract I’ll refer to this as PRO.AC.ID. 😃

1. It must not confuse the system

Three numbers is not two numbers.

I think if I’d gone with PR.AC.ID, e.g. 10.12.53, that would have been a bit much on the brain. The only thing in the J.D system with three numbers is a project code.

2. It must allow for a sufficient number of additional projects

One thousand projects should be enough for anyone. I’d love to know what you’re doing if you need more than a thousand projects.

3. It must allow the user to organise those projects in some way

We can use the same method of grouping as we currently use for our areas: simply group them by number according to our needs.

Here’s what my current system looks like.

100-199 Personal
101 Personal system
 10-19 Administration
// ... and so on
102 Johnny.Decimal
103 My next cool project 😎
200-299 ACME Corp// my current contract
201 Work project #1
202 Work project #2
 10-19 ...

Alternatively, you can group your projects by tens, rather than hundreds. This might work better if you’re a freelancer vs. a long-term contractor.

100-109 First client's projects
101 Project #1 for first client
 10-19 Administration
110-119 Second client's projects
120-129 Third client, and so on...
// note that no client can have more than// 10 projects if you group like this
130-139 Fourth client's projects
131 Then you number your projects like this
 131.32.73 And individual items like this

Of course, you don’t have to group your projects at all if you don’t want or need to. In this case your projects will just sort by order of creation.

101 Project 1 for client A
10-19 Administration
102 Project 2 for your own personal thing
103 Project 3 for client B// ... and so on
104 Project 4 also for client B
105 Project 5 for client A again
106 Project 6 for client C
107// ... and you get the idea

Implementation details

For most people who are in this situation, I think you should use one project for all of the stuff that is general to your life/business/etc.

So what I mean is we go from something like this…

10-19 Administration
20-29 Marketing
21 Advertising
30-39 Finance
31 Accounting
32 Contracts
40-49 Clients
41 ...// this is what didn't work
42 ...

…to this.

101 Administration
10-19 Administration// this is all the stuff
20-29 Marketing// from above, just in
21 Advertising// its own 'project'
30-39 Finance
31 Accounting
32 Contracts
102 First project// and now we break out all
10-19 ...// of the actual projects
20-29 ...// as discussed above
103 Second project
10-19 ...

How I name my folders and files

I don’t use the project number in my area or category folders. This is because they tend to be fairly unique anyway, with the exception of my ubiquitous 10-19 Administration.

I do use the project number in my ID folders, and when I name files. There are a couple of reasons why I’ve found this to be right for me.

  1. When I use Alfred1, which I do many times a day, I can type the full PRO.AC.ID number and it’ll open the folder immediately.
  2. When you view the Open Recent menu — e.g. in Microsoft Excel — the filename shows the project name at the beginning. I find this really useful.

1. If you use macOS, you should use Alfred. Activate it, press the spacebar to enter 'Open File...' mode, then type the number of a folder. 🤯

So this means that my system looks like this.

496 Any old project
10-19 ...
20-29 An interesting area// no project number here
21 A great category// or here
496.21.11 My favourite ID
// but check me out!

Within that folder, if I saved an Excel file I would call that file 496.21.11 Whatever descriptive name I’d use.xlsx.

As with most aspects of this system, you should adapt it to your needs. Try a few things and see what works. Change often – don’t think that the first way you implement a thing will be the right one, I’ve found it needs experimentation to get just right.