Background #
Over the past few years, all my images and files have become unwieldy. At both home and work, I was finding it more and more difficult to find what I needed when I needed it. Here is a summary of how I have been managing things.
First I run a home lab that consists of, among other things, Nextcloud. Though it has a ton of features I don’t use, the file storage capabilities meet my needs better than others I’ve tried (eg, SeaFile, OpenCloud and ownCloud). I also use Deck (Kanban cards) extensively.
For files and home projects, my folder structure consisted of a main Archive folder. Within it, I had a folder for each year. Within that, I had a few subfolders like this:
- Archive
- YYYY
- !Drafts
- !Inbox
- Documents
- {Project/initiate}
- YYYY
Here was the concept:
- Archive: Yes, I put everything in Archive at the start rather than ‘archiving’ it later when no longer top-of-mind. The idea was to preserve links to folders and files from other files. Back in the day, this also helped keep backup sizes under control as the files were already in a long-term location and wouldn’t get backed up again once moved to special archive folder.
- YYYY: Simple enough. Just a folder named for the current 4-digit year.
- !Drafts: First, I named it with a bang (I) so that it, and the Inbox below, would always sort alphabetically to the top of my folder tree. This kept all of my journals, notes and in-progress drafts in a single, flat folder. No further organization beyond a naming convention. Each filename started with YYYY-MM-DD so I could sort chronologically, keeping the most recent near the top of the list. These were all plain text files using Markdown.
- !Inbox: This folder is where I dumped things to deal with later. Anything sent to me or that I found online (Word documents, PDFs, images, diagrams, etc) would first go here. Once I was done with it, it would be deleted. Or, if if it was something I wanted to hang on to for future reference or relevant to an ongoing project, I’d move it to where it belonged.
- Documents: This was the destination for most stuff. I had no rhyme or reason to how I named things in here. Folders ended up like: “Taxes”, “St Louis Trip Planning”, “Water company billing issue”, “Lawn care schedule”, etc. Then, inside those folders would be whatever was related, except the drafts and notes, which were plain text files than stayed in !Drafts.
In addition to the Archive folder, I had a few more root folders:
- Vault: This served as my reference library. Anything that I wanted to hang on to long-term when in here; things like server build steps, configuration change logs, owners manuals for tools, receipts, car titles, software documentation, etc. I had an informal taxonomy to organize things, but sometimes it went pretty deep.
- Photos: This is where I stored pictures of people, events (travel, birthdays, etc) and those things you want to hang on to.
- Pictures: This is where I stored temporary pictures of things I was working on like screenshots, images downloaded from the Internet, pictures of the lawn, things I was selling on Craigslist, etc. When done, these would be deleted or moved elsewhere.
- Videos: Same as Pictures, but for videos.
- Family Documents: This folder is for documents shared with my wife. Things like budgeting, taxes, insurance documents, medical records, etc.
- Family Media: This is where we stored and shared all of our family pictures and videos from trips, birthdays, etc.
- Instant Upload: This is a Nextcloud-specific feature related to the mobile app. Rather than using Google or other cloud-based service, we all had the Nextcloud mobile app on our phones and uploaded photos to our Nextcloud storage.
On top of that, I have local storage on my laptop. The folder structure above was mostly duplicated on my laptop. I used the Nextcloud Desktop app to keep them in-sync. I didn’t sync everything, though. I only synced !Inbox, !Drafts, the current year’s Documents folder, Pictures, Photos, Videos, and Instant Uploads. Archive and the Vault stayed on the server.
Finally, in Nextcloud and my laptop, I pinned or favorited the folders I used most for quicker access.
As you can probably see… it makes sense intuitively but also requires a lot of discipline to keep it under control. After 20 years of this method, I realized I did not have that level of discipline. Files and information I needed were all over the place, I had tons of “to be sorted” folders within all of the above that I never got around to. The Inbox was HUGE and full of junk. The Vault was usable, but also contained a lot of out-dated things, multiple copies of the same things, and the structure was challenging. I relied heavily on search.
If you’re managing your files and folders like the above, I recommend going through an exercise like I just did and document what things are used for and what your workflow really looks like in practice. Then imagine if it’s still workable 10 years from now.
The new method #
I decided to start fresh. Instead of trying to clean things up following the above method, I spent some time documenting some needs, wants, and key principles for a new method. From there, I would decide what needed to be restructured or what may best be left as-is.
What I needed and wanted #
The folder tree needed to be browse-able. Searching for filenames is good if you’re consistent with naming conventions. Full-text search can be good within a few folders, but is less-than-useful when searching thousands of documents, including archives, looking for something specific.
Using it needed to be intuitive. I didn’t want to have something that required months of teaching myself completely weird workflows and complicated structures.
It needed to be consistent at home and at work. I didn’t want one strategy to use at home and another for work. (FYI: My information management at work suffered much of the same as I described above.) Though I had different tools (eg, Nextcloud and Deck at home vs Office 365 and Planner at work), I wanted it to conceptually be the same.
Principles #
With those in mind, I came up with 4 principles:
- 3-Level Hierarchy: No asset (a PDF, Word document, picture, video, note, etc) would sit more than three levels deep inside a folder tree or require more than three clicks to get to it.
- PARA Method: Roughly following the method as described by Tiago Forte, my top-level folders would be:
- Projects: All those things that have a done state. Whether driven by a date or deliverable, the finish.
- Areas: All those things that are ongoing/perpetual. These do not necessarily live on infinitely, but it’s hard to nail down what ‘done’ looks like.
- Resources: I’m going to call this my Library, and serves the same purpose as my Vault above. This holds all the information I hang on to for future reference.
- Archive: This holds all the inactive things from the above three.
- Strict Categorization: For both home and work, maintain a strict taxonomy of Categories to be used consistently across the top-level PARA folders.
- File Storage Supports, not Drives, Work: Work is primarily done in notes. Files that are not notes live in a separate, supporting file repository.
The Setup #
Modularization #
As part of this effort, I decided to investigate whether it made sense to move away from Nextcloud and toward best-in-class applications suited for a particular purpose. As I saw it, I have 4 related but different functions:
- Photo and video storage, management, and sharing: Nextcloud can view photos, and there are some add-ons that can facilitate management. The inherent file sharing capabilities make that part easy. However, the mobile app is a bit clunky and unreliable for uploading photos and videos from a phone. And the Nextcloud interface doesn’t stream videos well. In my research, I found Immich. It’s like Google Photos and then some. Too many things to talk about here, but it’s awesome. I moved all of our personal and family photos and videos out of Nextcloud and in to Immich.
- General file storage, management, and sharing: I’ve been using Nextcloud at home for years as the main hub for everything. Nextcloud is good, but often described as a ‘jack of all trades, master of none’. I installed and played with ownCloud Infinite Scale, OpenCloud and Seafile, all of which claim to be ‘file storage first’ apps with no extra bloat. In the end, however, for a technical reason I’ll get to in a bit, I opted to stick with Nextcloud.
- Project management (Kanban cards): I’ve used the Deck app within Nextcloud for years. It’s simple, straightforward and basically does what I need. I installed and tried a few others, including Planka, OpenProject, Vikunja and Taiga. All of these were either missing something key (like the ability to get a birds-eye view of upcoming tasks across all project boards) or just overkill. In the end, since I had decided to stick with Nextcloud for storage, I decided to stick with Deck. The ability to link to files and folders within Deck is an added bonus, making this call all the more obvious.
- Note taking: As mentioned earlier, I used a single folder with Markdown files for my notes needs. As I was considering moving away from Nextcloud, and none of the other file storage apps had good markdown text editing capabilities (to me, anyway), I spent a few weeks with Trillium. This was a slick app. I loved it. If I ever need a dedicated note-taking and management app in the future, this is where I’ll go. However, similar to Deck, after deciding to stick with Nextcloud, it made sense to just stick with it for note-taking too.
At work, I don’t have nearly the flexibility to try different apps. I’m limited to making due with what I have, which are the Office365 suite of apps. So it’s really just OneDrive, OneNote and the Planner app for all of the above. It’s not a 1:1 feature set compared to Nextcloud and I find it limiting. More on this at the end.
Folder Structure #
Following PARA, but also not, the root of my folder structure looks like this:
- 00_Journal: I use this for daily and weekly reflections, just to get things out of my head, to clarify a thought or mentally walk through a decision. These are rarely, if ever, referenced again. Anything important (like a decision) that gets noted in a journal gets moved (not copied) to somewhere more appropriate.
- 01_Stickies: This is really an extension of my Library, but are things I reference often, like bike tire pressures, what to wear cycling at different temperatures, car insurance card, etc.
- 02_Areas: Yes, I flipped the order and put Areas before Projects. Ongoing initiatives.
- 03_Projects: Things with a definable done state.
- 04_Library: My “resources”. Reference information, documentation, etc. This DOES include binary files such as Word docs, PDFs, images - not just plain text files.
- 05_Vault: The ‘file storage’ repository that holds deliverables and other supporting files (for projects and areas) that are not plain text/markdown notes.
- 99_Archive: Where notes that are no longer current go.
One important thing to note here is that the files and folders in the Vault are never archived. Once created, assuming I don’t delete it after completion of a project, they stay in place forever. This isn’t so much for backup size anymore (as block-level backups and de-duplication remedy that), but to ensure links to those folders from elsewhere will always work in the future.
Now, this is where it gets confusing sometimes. In principle, the Areas, Projects, Library, Vault and Archive folders would have identical structures, like this:
- Context: Either Area, Project, Library, Vault or Archive.
- Category: See below
- ‘Topic’ Name: This varies based on the Context. For projects, it is always the project name (eg, “YYYY-MM-DD Test and Evaluate OpenCloud”). For the others, It could be a sub-topic of the Category (eg, “Retirement Planning” under “Finance” category or a specific server under the “Servers” category).
- Assets: For folders in the Vault, this will be the binary files supporting a project or area. For Areas and Project, it’s the related notes themselves. For the Library, it’s likely to be a mix of plain text notes and supporting binary files.
- ‘Topic’ Name: This varies based on the Context. For projects, it is always the project name (eg, “YYYY-MM-DD Test and Evaluate OpenCloud”). For the others, It could be a sub-topic of the Category (eg, “Retirement Planning” under “Finance” category or a specific server under the “Servers” category).
- Category: See below
With that said, at least so far, I found it easier to flatten the Areas and Projects folders and exclude the Category level. Within those, then, it just a list of folders for the specific topic or project. Inside those folders, I have a README file that indicates what category it belongs to just as a reminder. I try not to have too many active projects going on, and flattening it saves a click.
Categories #
I decided not to spend too much time on this up-front, and instead let it evolve. I needed my categories to be broad enough to keep the total number of categories manageable, but detailed enough that I could find what I was looking for simply by browsing. I also need them to be consistent and not require much change.
At both home and work, I made a note in Stickies with the master categories list. Here are a few examples:
- Adventure: All things related to camping, hiking, bikepacking and other non-family trips.
- Cloud Apps: All things related to 3rd-party apps and services.
- For Sale: All things related to selling stuff, like Craigslist and Facebook Marketplace ads, images, etc.
- IoT Devices: All things related to the various control systems around the house.
- Self-Hosted Apps: All things related to my self-hosted apps like Nextcloud and Immich.
Deck #
Deck serves as my Kanban “to-do list”. I think of it like this: My Notes tell me what needs to be done. Kanban tells me what I need to do next. That’s it. I try to keep it simple and use it as a visualization dashboard. I don’t store any important information in the cards, but instead link to a note within the cards.
Deck follows a similar structure as above, but with a few small adjustments.
- Each context gets it’s own Kanban board.
- Tasks within Areas get their own card. These are usually one-off tasks. If not date-driven, I’ll set a due date. Eg, I have my entire lawn care fertilizer and herbicide treatment schedule as cards, with due dates to project which weekend I plan to do them. Tasks are ‘tagged’ with the Category.
- Projects with less than 20 or so discrete tasks get one and only one card. Any discrete tasks are included as checklist items within the card. This isn’t conventional, but I move project cards between Next|Doing|Blocked based on the next task. Eg, if I finish a task in a project (in the Doing list), but it’s going to be more than a day or 2 before I get to the next task, I’ll move the entire project card back to the Next list. Notes are stored in the project Notes folder.
- Larger projects with more than 20 tasks get their own Kanban board. These get treated more like typical projects, with each discrete task getting it’s own card, potentially with subtasks.
I try to put due dates on all cards, especially if it’s something coming up in the next week. This is where both Deck and Planner (at work) shine. With due dates set, I can look at the Upcoming Cards or Tasks views and see what’s on the list for Today, Tomorrow, in the next week or what’s overdue.
The Workflow #
Projects #
This works for Areas too.
Starting a new project #
Let’s say I wake up one day and during my morning reflection I realize I need to do something that counts as a project (a one-off thing with a definite ‘done’ state that’s bigger than a single task like ‘take out the trash’).
-
Create a new folder in Projects, named like YYYY-MM-DD Project Name.
-
Inside YYYY-MM-DD Project Name, create a README.md file. Within this file, record:
- Project Name: What we’re calling this effort
- Category: From the master category list
- Summary: 1-2 sentences about the effort, the goal/objective
- Status: Active (later can be Blocked, Stalled, Closed… whatever. Nothing formal here.)
- Assets: Initially “n/a”. If there are binary files supporting the project, update this with a link to that folder.
- Next Step: 1-2 sentences or bullets as a reminder of what’s next.
Then… add any other relevant notes, expand on the goals and objectives. This is a living document meant to serve as a quick reference for the project.
-
Create a Deck card for the project.
- Tag the card with the Category.
- Attach a link to the Project folder.
- Give it a due date based on when you tentatively want it done, or when you want to be reminded to revisit and get started.
-
If/when there are supporting binary file assets, create a folder in the Vault under the Category named exactly the same as the Project folder. Then go back to the README and update the Asset link.
Working the project #
Here, you want your focus to be on the actual project and not managing the assets. With the above setup, you should be able to easily click a link to find what you need or easily browse to it.
- Keep your notes and drafts (as plain text/markdown) in the Projects folder.
- Keep your supporting files in the Vault.
- As you complete tasks:
- Update your Kanban checklist and move your card around as-needed to help visually track what’s next.
- Update your README with the Next Step (for a quicker memory jogger if you step away from the project for some time).
- TIP: Once you move from a plain text/markdown draft in your project folder to a Word doc or something else intended to be a deliverable when complete, update the the draft note in your project folder indicating this so you’re not tempted to work on the same content in two places.
Completing the project #
This is where the discipline matters to keep things clean and organized for the future.
-
Clean up the Vault: If you created one, clean this up.
- Remove any old versions or drafts of deliverables, unless you really need them. Only keep the final, deliverable version.
- If anything is needed for future reference, move it to the Library instead.
- If you emailed a final deliverable, or stored it in a document management system or elsewhere, consider whether you really need to keep your own copy. If not, delete it.
- If after cleaning, the entire folder is empty (which often happens to me), make a note in the project README | Assets that the folder was deleted and where you sent/put the deliverables. Then delete the whole folder.
- If after cleaning, there are still files left that you need for historical purposes (eg, tax returns), just leave them as they are where they are.
-
Clean up Deck: Confirm all tasks are complete. Mark the card as Done and move it to the Done column.
The only real difference between a small/medium project with one card and a large project with its own Kanban board is that you’ll want to archive the entire board.
-
Clean up and archive the Project folder
- If anything here needs to be formalized as documentation for future reference, do it and move it to the Library where it becomes a living document.
- If you really need all those notes, keep them. If not, summarize any key decisions, strategies or other insights in the README and delete the note.
- Make a final update to the README with any last notes, and mark the status as Closed.
- Move the entire project folder to the Archive/\[Category\] folder.
Caveats and Shortcomings #
Here are a few gotcha’s I’ve run into that, should you decide to adopt something similar, you should be aware of.
Broken links when moving from the Vault to Library #
Earlier, I described that when closing a project and cleaning the project folder in the Vault, you should move files needed for future reference to the Library. Be aware that if you’ve linked to a file in the Vault from a note, that link may break. I think you just have to accept that this may be the case. The key is to document in the project README where files have moved. I also recommend linking to folders as much as possible rather than individual files, as folders in the Vault are less likely to change and, if completely removed, should be documented in the README.
Is the Library Just for Markdown? #
I tried to clarify above, but as I read through it, it may have been a bit confusing. While I recommend keeping only plain text/markdown files in your Areas and Projects folders, and using the Vault to store supporting file assets, the Library is different. It is intended to be a one-stop location for your reference information. This is likely to include PDF manuals, images, diagrams, etc. You should keep those in the Library rather than maintaining notes that do nothing but link to a file in the Vault.
Structural Mismatch between Areas, Projects and the Archive #
I mentioned above that, ideally, the folder structure would be consistent between all contexts: Areas, Projects, Library, Archive and the Vault. Then I said I flatten Areas and Projects removing the Category layer, to save a click and make it easier to view all my active things.
This works at home, because I only have 3-7 ‘active projects’ or ‘active areas’ at a time. Nesting those within Categories seems overkill and removes the at-a-glance feature of just looking at the folder to see what’s going on.
I definitely would not keep an empty Category folder in either as a placeholder, but you could. And you can absolutely maintain consistency and keep active projects and areas inside a Category folder that only exists as long as there is an active project or area under it.
In this case, though… and I may end up there myself… using a tool like Deck as your ‘dashboard’ to get that at-a-glance view of what’s going on might be the better tool.
Office 365 for this? #
This is probably my biggest frustration. Microsoft products are designed for… I don’t know what. Whatever it is, it’s exactly unlike how I work. There are so many tools with so many features, but they only really work together is specific ways, and not the simple ones.
First, there’s Planner. It’s actually really nice and comparable to Deck. I use Planner at work exactly as I do Deck at home. You can create links from OneNote sections to Planner cards, and Planner cards to OneNote notes. And with different view, it works well as a dashboard, just like Deck.
Next, OneDrive. It’s just file storage. You can create the same structure as in Nextcloud, or your laptop hard drive. Nothing inherently limiting there, or added.
Finally, let’s talk about OneNote. It’s horribly time-consuming to use, puts too much focus on formatting rather than content, and requires far too many mouse-clicks rather than keeping your hands on the keyboard and actually doing work. So, yes, you CAN use it for your notes, and I do today, but I wish I had something simpler and better.
On one hand, OneNote, being a standalone application and separate from your file storage, seems primed for this kind of setup where your file storage is intended to support your notes. However, I’ve experienced a lot of issues linking OneDrive folders to notes in OneNote. I can’t explain why the links break, but they do.
Then, there’s the issue of storing notes together with PDFs, Word docs, images, etc for purposes of a single Library. You can embed these files into notes, but given the architecture and fragility of OneNote’s database files, I’m not sure I trust it.
I think the OneNote limitations could be resolved a couple of ways. I could just use Notepad and keep plain text notes (which is looking more and more attractive), but it doesn’t handle links. I understand there is a new version of Notepad with a Markdown editor built-in. My work environment, though, hasn’t pushed this out and the policies in effect won’t let me install it or any Word markdown add-ons either.
So, for now my options are OneNote or classic Notepad… and I think I’m just going to make due with OneNote.
Final Thoughts #
It’s not a perfect system. And though it’s a lot to explain and to read (I didn’t expect this post to be this long), I think it really is intuitive once you get the concepts.
If you’ve read this far, you’ve realized that this isn’t really about software. Whether you use Nextcloud, OneDrive, or just a folder on your desktop, the tools will always be imperfect. I’ve gone through cycles of “tool-hopping” hoping for a perfect solution, but the only thing that actually changed my workflow was defining the principles first and the technology second.
I think the most important takeaway is to manage your files to support your brain, not the other way around.
My system will continue to evolve, and yours should too. The goal isn’t a perfect system that you never have to touch once in-place, but a system that is transparent, maintainable and doesn’t require a manual when you come back to it six months later.