Interact with this post using Mastodon or
Hybrid file organization
Published on
I must emphasize how engaging with people sparks interesting discussions and ideas. These exchanges often serves as a catalyst for writing.
Recently I’ve had an exchange with Hyde
about the diverse file structure systems. Over the years, I’ve experimented with some of them. In this blog post, I’ll share my experience combining the flexibility of the PARA (Project, Areas, Resources, Archives) system with the structure provided by Johnny.Decimal (JD).
╭── The PARA system
I’ve briefly wrote about it in this post . To keep it straight to the point, the PARA system consists of organizing your files by:
- Projects: anything with an outcome or goal you’re actively working towards. It has a specific timeline, is finite, and requires multiple steps to complete
- Areas: ongoing activities, areas of focus, or roles that don’t have an end date, but require continuous attention to maintain. They define your key responsibilities.
- Resources : reference materials and tools you use to support your projects and areas of responsibility. They are not action-oriented but are vital for providing context and information
- Archives : completed or inactive items that you no longer need to refer to frequently but may need to revisit in the future
╭── The Johnny.Decimal system
The JD system uses a decimal-based numbering scheme where everything gets assigned a 3-digit number in the format of XX.YY.
- XX represents the main categories : the main categories (the first two digits of the code) represent top-level directories or broad organizational areas (e.g. 10–19: Work-related files, 20–29: Personal files, 30–39: Financial information)
- YY represents the subcategories : each main category is subdivided into subcategories, represented by the third digit of the Johnny.Decimal code. These subcategories can be thought of as subdirectories in your file system, and each one holds more specific items within the broader category (e.g. 11: Client projects, 11: Internal reports, 12: Meetings & Notes)
╭── PARA vs JD
It’s time for the big showdown! At least we would have a fight on our hands if one system proved itself superior to the other, but life is never always black-and-white. Let’s be more realistic and see where each system excels:
| Criteria | PARA System | Johnny.Decimal System |
|---|---|---|
| Flexibility | Dynamic. Makes for projects in flux. |
10x10 grid and rigid categories. |
| Directory Depth | Can have multiple levels, potentially leading to complex structures. | Moderate depth; 2 main levels with flexible subcategories, easy to expand. |
| Searchability | Files and folders are well-organized but may require manual search within projects or areas. | Highly searchable due to consistent code structure. |
| Maintenance | Shine in evolving workflows. Easy to maintain by adding or removing projects/areas. |
May require restructuration and nmeric codes adjsutment with projects changes/growth. |
In short, the PARA system is ideal for projects in flux, allowing you to dynamically adjust your directory structure as needed. It’s particularly useful for ongoing activities and areas of focus that don’t have a specific timeline or end date.
On the other hand, the JD system provides a rigid yet flexible structure, making it easier to maintain consistency across your file system.
But like you, I want it all. To achieve a balance between flexibility and structure, I’ve combined the PARA and JD systems:
- PARA encourages assigning files directly to Projects, Areas, Resources, or Archives, where each item has a clear reason for existing and a defined next use. Eliminating catch-all folders reduces clutter, prevents forgotten files, and ensures that everything is organized by intent, not by where it happened to land.
With that in mind, default folders in $HOME such as Desktop, Downloads, Music, Videos become unnecessary because they function as temporary holding areas rather than purposeful categories. - While I didn’t create this approach, I’ve decrease the directory depth by mapping the JD main categories 10, 20, 30, and 40 to the PARA folders. The downside being that I have to change this first bit of the subdirectories names when I move them into another main directory. This is easily achievable with one command, but one may prefer to use PARA folders naming.
- My personal life is less rigid than my professional one. If I apply the JD naming convention consistently across all my work folders, for my personal directories I prioritize descriptive names over JD codes, using formats like 10.YY and 20.YY for Projects and Areas. This approach simplifies navigation with fuzzy search and reduces cognitive load, allowing my system to adapt easily as my current interests evolves. For Resources and Archives where the numeric codes provide long-term organization and structure, I apply the JD codes (30.YY and 40.YY).
╭── My system looks like
As mentioned above, my personal and work file structures differ slightly but the maximum directory depth will always be three. Let’s see how my $HOME/Perso folder looks like:
10.01_House-renovations
├ Material
└ Build plans
20.01_Photos (to be edited)
├ Friends
└ Hiking
30.01_Scripts
├ 30.01.01_Windows-manager
└ 30.01.02_Github
40.01_Photos
└ 40.01.01_Parties
├ 40.02.02.01_250304-Moms-Birthday
└ 40.02.01.02_240612-John-Party
40.02_Photos
└ 40.02.01_Travels
├ 40.02.01.01_211218-Paris
└ 40.02.01.02_200422-Washington-DC
And this is an example of my $HOME/Work folder where the JD system is applied in all (sub)directories following the pattern XX.XX.XX.XX / PARA Client Project Step
XX.XX Client-1
└ XX.XX.XX Project-1
└XX.XX.XX.XX Step-1
Here is a short example with PARA-like names in parenthesis for reference:
10.01_Client-1 (Active projects)
├ 10.01.01_Project-1
┆ ├ 10.01.01.01_Step-1
┆ └ 10.01.01.02_Step-2
└ 10.01.02_Project-2
├ 10.01.02.01_Step-1
└ 10.01.02.02_Step-2
10.02_Client-2 (Active projects)
└ 10.02.01_Project-1
├ 10.02.01.01_Step-1
└ 10.02.01.02_Step-2
20.01_Client-1 (Continous/standby projects)
├ 20.01.01_Project-1
└ 20.01.02_Project-2
20.02_Client-2 (Continous/standby projects)
├ 20.02.01_Project-1
└ 20.02.02_Project-2
30.01_Client-1 (Resources)
├ 30.01.01_Project-1
└ 30.01.02_Project-2
30.02_Client-2 (Resources)
├ 30.02.01_Project-1
└ 30.02.02_Project-2
40.01_Year-2025 (Archives)
├ 40.01.01_Project-1 (moved from 10.01.XX or 20.01.XX)
└ 40.01.02_Project-2 (moved from 10.02.XX or 20.02.XX)
40.02_Year-2024 (Archives)
├ 40.02.01_Project-1 (moved from 10.01.XX or 20.01.XX)
└ 40.02.02_Project-2 (moved from 10.01.XX or 20.01.XX)
╭── Take home message
By combining the PARA and JD systems, I’ve created a hybrid file organization approach that balances flexibility with structure. This system allows me to efficiently manage my projects, areas of focus, resources, and archives while minimizing cognitive load.
╭── What about notes?
I treat my notes differently than regular files, applying no structure system to them. I record, access, and manage my notes using the Obsidian plugin
in Neovim, even though I don’t use the app itself. By default, I rely on the Zettelkasten system for naming them, but I primarily use tags and grep/fuzzy search to retrieve my notes quickly. This approach works for me because I stick to a simple concept: treating your second brain like your own brain, meaning being selective.
Your biological brain doesn’t store every fleeting thought; it filters, abstracts, and integrates. My notes capture only well-understood and distilled ideas, building a system that supports insight and creativity rather than one that becomes cluttered and overwhelming. Instead of using my notes as a raw dump of everything that passes through my mind, I use them as an extension of my thinking.
When ideas are clarified first – by removing noise, vague phrasing, or half-formed thoughts – each note becomes easier to retrieve, more meaningful, reusable, and easier to connect with others.
- Organization: basis for a healthy system
- Hybrid file organization
More food for thoughts? Check other posts about: #System
Thanks for your read. Hope it's been useful to you.
✄ ┈ ┈ ┈ ┈ ┈ ┈ ┈ ┈ ┈ ┈ ┈ ┈ ┈ ┈ ┈ ┈ ┈ ┈ ┈ ┈ ┈ ┈ ┈ ┈ ┈ ┈ ┈