
Ask HN: How do you keep your files organized on macOS? - wassimdotis
I tried to use Finder&#x27;s tags but failed to keep things organized everytime. Are you using a specific app? Do you have some &quot;tips&quot; to keep a setup clean?
======
oskapt
I do all document management with an app called DEVONthink. I’ve been working
with digital paper apps for years, and DEVONthink absolutely crushes
everything else. I put everything in it, and I sync it between devices using
WebDAV via Seafile, which also works to get data offsite in case the house
burns down. It’ll do encrypted databases, and it has mobile apps that work
great. I scan documents directly into it, tag them, and sometimes link them
from multiple folders, which Devon will do without copying them (or I can also
copy them if I need to). It has fuzzy search capabilities and automatic OCR
that is lightning fast. It’s one of a handful of apps that are always open on
my desktop.

Documents aren’t stuffed into some database, either. They’re indexed and
stored in a folder hierarchy that you can still access. This makes it easy to
search and find them with tools like Alfred or Quicksilver or Spotlight. You
can open them directly using apps like Word, and Devon doesn’t care. Devon
also has an inbox you can use with Finder, so when you drop a file into the
folder, it automatically moves to an Inbox folder in Devon for you to process
and move to a final destination within the app.

It’s truly a fantastic piece of software.

~~~
newscracker
I never got the hang of Devonthink and couldn’t get into the habit of using it
for all (or even most) files. How did you get started with it and what
resources, if any, did you use? Do you always only index files (while they
remain in whatever folders you have left them) or do you also import (copy
into it) too?

~~~
oskapt
I went through their whole tutorial video section on the site, and a
complementary section on how other people use Devon (author, lawyer, some
other types). It took me a couple of nights of watching videos before bed to
get my head around it.

Then I created some folders for large groups, like "Documents" at home or
"Projects" for work, and broke it down from there. I don't have more than
maybe 4 levels under anything, except where there are year/month breakdowns.

AFAIK Devon doesn't work outside of its own folder/database. It doesn't index
everything in my ~ for example. I create stuff in Devon or drag stuff into it
from outside, holding down CMD so that it moves instead of copies.

Within Devon I'll sometimes need something in two places (all receipts and
tax-deductible receipts, for example), so I'll use Devon's "replicate"
function to make a pointer to the same doc. For work stuff, I have templates
(release_plan.md) that I'll "duplicate" to a new project. As long as they're
the same, Devon has an icon that says so, but as soon as I edit one, they
diverge into independent docs.

------
christophclarke

      ~/Code/
          L python/
              L project1/
              L ...
          L dotnet/
          L web/
          L work/
          L ...
      ~/Documents/
          L school/
              L Spring2019/
              L ...
          L personal/
          L work/
    

That's about all I really access other than Downloads which is a huge mess
that gets purged every so often. Anything of lasting value gets moved out of
there asap.

~/Documents/ is backed up to iCloud so I can access them anywhere. (Tip: Any
directory you don't want to be backed up can be suffixed with ".nosync" e.g.
SecretStuff.noSync).

This all started after getting into Go, which mandates a central directory
under which all Go code is stored. [1] nesting scope also helps namespace
resources.

[1]
[https://golang.org/doc/code.html#Overview](https://golang.org/doc/code.html#Overview)

~~~
ukyrgf
Incidentally, Go doing that made my first foray into it a very easy "Oh, yeah,
this programming language isn't gonna be for me." decision.

~~~
klodolph
Go modules has removed that restriction, although previously you could also
get around it by avoiding Go’s build system (e.g. use Bazel instead). Some
people would also just stick their go code in
<repo>/go/src/example.com/pkgname, which is not that different from the way
you might structure Java code anyway.

------
submeta
While I tried DEVONthink and have even written a personal document management
system myself in the past, I have come to realise that no proprietary system
will last forever. So I went back to files, folders, naming conventions and a
good search tool + Finder replacement.

As to the conventions:

* I follow the recommendations of a German Professor named Loehn [1]. Prof. Loehn recommends to name every file with three parts and add a datestamp to the file. For example: "Programming_Node_Async-2019-03-07", a three-part taxonomy, going from more general to more detail.

* Every file goes into a folder. Every. So I need to build a good folder system.

* Every folder is in ~/Documents/FOLDERS

As to the tools:

I use Alfred (not for search, but for creating keyboard shortcuts to start my
essential tools with a key combination).

Then I use HoudahSpot.app for search. It is a better interface for Spotlight
search. It allows me to save searches as templates, see search results in a
table, which is super important for me to narrow the results down, exclude
folders etc in a very easy way. It is my personal knowledge management tool.

Finally I use "Path Finder" (PF) as a finder replacement. Whenever I am in a
folder, I can hit `Shift+Cmd+F`, which will focus on a field that will let me
enter keywords. PF will start to filter my folder based on my input. So I can
focus on what I need. PF is a gorgeous replacement for the Finder app with
many enhancements.

The combination of all this will allow me to find every file, every project,
every folder from within the past 15 to 20 years in a split second.

Side note:

1) I don't keep files on the desktop either. Rather I have a temp folder named
INBOX on my desktop where everything will be put in to be processed into
~/Documents/FOLDERS/(subfolders), and I have the discipline to empty
~/Desktop/INBOX regularly.

2) My programming projects go into ~/workspace/

[1] inventor of Loehn Method, which is a methodology like "Getting Things
Done" (by David Allen)

~~~
farisjarrah
Have you investigated symlinking INBOX folder so that its real location maps
to a location inside your ~/Documents/FOLDERS location so that you only have
one place to worry about all files?

~~~
submeta
Thank you for the suggestion. That is a good idea.

------
klodolph
No system of organization works for everyone.

    
    
        ~/Projects/
            ... bunch of Git and SVN repos ...
        ~/Writings/
            ... Git repo full of text files ...
        ~/Music/<year>/<num> <name>/
            Songs grouped by year,
            PCM bounces with name + date
        ~/Pictures/<year>/<num> <event>/<num>
            Originals, + edited as copies
        ~/Downloads/
            Articles/
            Documents/
            Software/
            Incoming/
        ~/Misc/$num/
            Unceremoniously dump everything else here
    

“Clean” is overrated. Storage is cheap. Only clean things as much as it helps
you find things. Spotlight is pretty good at finding things. I use tags to
label how “good” something is, with red = excellent, orange = good, and yellow
= has some value.

All articles are renamed so that the filename is the title of the article.

Desktop is scratch space for anything that I’m working on at this particular
moment. If I’m not working on it now, I drop it in ~/Misc/$num++ or delete it.
I purge files about once a year just to keep garbage from filling spotlight
results, and only secondarily to keep free disk space.

------
leovander
Someone had previously shared johnny-decimal, but I have yet to use it to
reorganize my files.

[https://johnnydecimal.com/](https://johnnydecimal.com/)

~~~
jimmcslim
Interesting.

What about customer-specific files... a small business would hope to have more
than 10!

~~~
leovander
Take a look at cygned's comment[0] and how the author[1] still breaks the
rules with sub-folders.

[0][https://news.ycombinator.com/item?id=19327891](https://news.ycombinator.com/item?id=19327891)

[1][https://johnnydecimal.com/concepts/exceptions-to-the-
rules/](https://johnnydecimal.com/concepts/exceptions-to-the-rules/)

------
k2enemy
I don't use the Documents folder and have it `chflags hidden` in the Finder.
Desktop is always empty. `data` contains documents, while `db` contains
databases and datasets for research. `var` is mostly vm images. The others I
think are self explanatory.

`work` and `src` are synced to my linux computer at work via syncthing.

    
    
        [k2enemy@indy ~]$ tree -L 1
        .
        ├── Desktop
        ├── Documents
        ├── Downloads
        ├── Library
        ├── Movies
        ├── Music
        ├── Pictures
        ├── Public
        ├── bin
        ├── data
        ├── db
        ├── etc
        ├── src
        ├── var
        └── work

~~~
jason_slack
Thanks for mentioning synycthing...I'll check it out. Right now I have a
series of rsync scripts as cron jobs that keep my stuff in sync on multiple
machines.

------
fredsted
Having some more context would be nice, but here's some tips as a web
developer.

* Don't save files on the desktop.

* Create a Projects or Dev folder in your home directory and make a folder for each project. (For Web development, I use Laravel Valet which automatically makes a foldername.test vhost inside ~/Dev.)

* My Downloads folder is very messy. I could probably set up a job to delete files older than 6 months, but I have plenty of space, so no need (yet).

~~~
oskapt
For managing folders that collect cruft, or for doing things like deleting
screenshots from the desktop after some period of time, I use Hazel. It’s
great for menial maintenance tasks.

~~~
wassimdotis
Hazel looks very interesting, thanks!

------
Joe8Bit
Everything personal is in ./Dropbox and everything work related is in ./Google
Drive

How my work and personal files are organised was a source of frustration and
annoyance for _years_, I'd be constantly fighting a sisyphean battle of
organising the ever growing chaos; then I had a realisation, hierarchical
folders/files will _never_ map to my mental model and there's no perfect
system. I've learned to live with the chaos.

------
ryanwaggoner
I'm getting closer and closer to the "just dump it all in a huge bucket and
search if you need" strategy. Like many here, I've tried to keep things semi-
organized but it's a constant fight against entropy. And filing tens of
thousands of emails and files every year just so I can access the 1% that I
might need later seems dumb. Why not just search? It might take 10x as long to
find via search as it would if it was nicely filed, but if you only need 1% of
the files in the long run, you still come out 10x ahead.

Years ago I stopped filing my physical paperwork and instead just scanning
with the Fujitsu ScanSnap, which creates searchable PDFs. It's been amazing. I
almost _never_ need any of that stuff, but it's there if I do. In fact, given
how useless all that stuff is turning out to be, I'm tempted to even stop
scanning and just put in a big box and forget about it. If I need it someday,
I can dig through the box and find it. Now that I have several years worth of
files clogging my Downloads folder, it might be time to just take the same
approach there.

------
zubairq
I save everything on the desktop, or in a folder on the desktop. Sometimes I
make subfolders in those folders. Horrible, but it works!

------
mdevere
Generally agree with ppl who say that searching is more important than
organising. I use Alfred to search, but I think the default Finder app is
quite good these days.

Most important thing is having a consistent filenaming convention. This helps
you find files via search. I use 'YYMMDD_HHMM name' if I authored the file or
'YYMMDD_HHMM [sender] name' if someone emailed it to me.

Tangentially, what I'm really happy with is how I manage my web bookmarks. I
don't use browser bookmarks or folders. I save bookmarks to Pinboard.in, a
cloud service. Then there's a nice Alfred extension which allows me to find
them ([http://www.packal.org/workflow/alfred-
pinboard](http://www.packal.org/workflow/alfred-pinboard)).

~~~
mdevere
I don't have pics anywhere. That's all in Photos app/ iCloud. It's very cheap,
something like $1 per month.

I use Backblaze to backup everything to cloud.

------
tmikaeld
Have tried all apps out there, even the "Database" ones - but it's not
portable and it's an instant lock-in. Plus most of the Apps bind to folders
anyway, so you'll have a lot of "junk" that you have no idea what it is.

What I've found to work is this.

Main root folders few and named easily.

\- Customers

\- Internal

\- Private

\- VMs

All sub-folders have numbers, so they can always sort by name so they're
always in the same order.

00 - Tests

10 - Code

11 - Code (Testing)

12 - Code (Other)

20 - Design (Sites)

25 - Design (Other)

30 - Services

35 - Marketing

40 - Apps (Web)

41 - Apps (Hosted)

50 - Docs

51 - Guides

60 - Sysadmin

etc...

This creates a logical and consequential structure that's easy to update,
change and manage and you can have many levels.

Just consider your numbers for your use-case so you won't run out and sub-
numbers can be unclear/messy to look at and navigate.

For managing downloaded files automatically, I use Hazel.

~~~
AnIdiotOnTheNet
It's kinda funny. Classic MacOS had a spacial file manager, so folders and
files stayed where you put them. I'm guessing that isn't true anymore? This
kind of thing seems like a regression.

~~~
raindropm
I found we didn’t appreciate the spatial thinking ability of human brain
enough. Right now what we got is the tech that gives us shallow 2-dimensional
way ‘browser-style’ to interact with digital things, for the sake of
convenient and less clutter.

The same thing can applied to physical books. No matter how convenient e-book
reader is, it NEVER give me the same experience. For physical book, you can
just feel the progress of story just by looking at that thickness of the book,
or you can tell WHERE the event in the story happened (e.g. at top right
section of certain page, for example) Can’t do that with e-book, every page is
the same, not to mention when you change the text size and it reflow the
paragraph...poof! Gone.

Somehow, the physicality of physical book made me read it till the end. Yes,
the Kindle is also single-purpose device made for reading, but also a touch
away from ton of books in your library, too, which is distraction in another
form.

(and no, I don’t care for inky or old paper smell)

------
cproctor
In a big tree, no tags. It has taken a little while to figure out the shape of
my life, but things now fit pretty nicely. I think the work of figuring out
the _one_ place where each thing fits is mostly valuable, not overhead. Having
a deep tree allows me to incrementally organize files by pushing them partway
down toward their final destination when I don't have time.

The biggest current challenge is all the tools that are trying to pull me away
from a filesystem. Google Docs has pretty much been a disaster for
organization, and I don't use--even for collaboration--unless I absolutely
have to. Similarly, Evernote has lost its charm for me. I guess I'm in a
minority here, preferring organizing to searching. It gets hard for me to make
sense of old documents when they're out of context.

    
    
        - Documents
          - 1-Education
          - 2-Teaching
          - 3-Software-Engineer 
            - Unfold-Studio
              - unfold_studio
                - .git
          - 4-PhD
            - Research
              - Active-Projects
                - Text-And-Code
                  - Studies
                  - Publications
          - 5-Consulting
          - 6-Personal

~~~
cproctor
Slightly off topic, but I'd like to argue _for_ keeping your information in
(backed up) local-filesystem files in the first place. I work with
collaborators at several universities. Google seems to be pushing defaults
toward institutional ownership of documents. I can see why institutions would
like that, but there's no way I'll make my long-term access to files dependent
on someone else's permissions (or Google randomly, unaccountably deleting my
account).

------
obelos
I find virtually every taxonomical system insufficient, whether it's a folder
hierarchy, tag cloud, etc. Because of English's profusion of synonyms (on top
of necessarily murky category definitions for the world, generally), finding a
consolidating duplicates is its own war of attrition with myself. So I mostly
store things in a handful of very broad topical folders and let mdfind
(Spotlight) do all the heavy lifting of finding things I need. The filesystem
hierarchy isn't “clean” in this case, but it doesn't matter because I rarely
need to rely on it for finding what I'm looking for.

This system does not lend itself to concordance building, browsing, or
evincing topical relations, but I'm rarely needing that outside the domain of
a particular use case. So if I'm researching for a paper, for example, I use
Zotero to map out connections between bibliographic references. It's a more
constrained realm where tag management is less arduous.

------
cygned
I basically have two trees:

1\. Software; organized by domain name in ~/software, containing all git
repositories I work on (~/software/github.com/user/repo)

2\. Documents; stored in ~/Nextcloud, synced with a server. In there, I have a
nested system of Johnny Decimals
([https://johnnydecimal.com](https://johnnydecimal.com)) - nested, because I
manage multiple projects which itself use that format again, so

    
    
        ~/Nextcloud/10-19 Companies/10 Company A
        ~/Nextcloud/10-19 Companies/11 Company B
        ~/Nextcloud/10-19 Companies/12 Company C
    

My desktop is my temp folder, everything on there will be "resolved" within a
day or two.

This way, I have all my documents synced and available on all my devices. I do
not use Finder tags but rely heavily on Spotlight search.

------
mcv
I don't use tags at all. I just use good old fashioned directories. My
directory structures go pretty deep.

~~~
fredsted
Neither do I. I find that tags are "optional" so they aren't used 100% of the
time, but you _are_ forced to place your file in a folder somewhere.

~~~
martin_balsam
Folders are just mandatory tags

~~~
mixmastamyk
More like categories, no?

------
hartleybrody
Most things that I want to keep organized get split into high-level folders.

    
    
        ~/Documents
            /personal
                /project-1
            /client
                /client-1
                    /project-1
            /school
                /semester
                    /class
    

Each of the high-level folders contains a folder called `_archive` where I
move old clients or projects into, this way the organization-level folders
only contain things I'm actively working on.

Then I have `~/Downloads` and `~/Desktop` which are both a bit messy and get
purged (Downloads) or reorganized (Desktop) from time to time.

------
princekolt
I keep all my development projects in ~/Workspace. Everything else goes in
either iCloud Documents (if they're important documents) or in ~/Documents if
they're not. (I got the 200GB iCloud subscription btw).

I use ~/Desktop strictly for transient files, which I delete frequently. I
still let Time Machine back it up, though, in case I accidentally delete
something I meant to save. Time Machine has saved my life from accidental
deletes more often than I can recall.

Thinking about it, my local storage is quite lean. Ever since I started using
iCloud for photos and documents, my local storage has only been used for git
repos (and apps, of course).

------
sammycdubs
For my work laptop, I use a single ~/Workspace directory, with ./GitHub,
./Local, and ./Personal within that.

All of my non-code stuff is in misc. app-specific cloud services: Google Drive
for work stuff, Ulysses for personal notes/writing, Things for tasks etc. I
also use KeepIt for bookmarks, which I really recommend.

I've spent an inordinate amount of time in my life trying to over-engineer my
productivity with new apps, tools, or systems that I never end up using.

Some general tips:

\- Don't try to solve problems you don't have yet. \- Keep it simple.

------
stevewillows
I have some network folders mounted to ~/shares using sshfs that are
automatically mounted and remounted with a cron job.

On my desktop I have _Process as a working folder for stuff that is 100%
temporary. I clear this folder every day or so. This is purely for those one-
off things like an image I'm posting to a site, music that I'm tagging, etc.

I have a second folder, _Projects that is for current projects -- stuff that
I've 'checked out' of my NAS. This folder is automatically backed up every day
regardless, but I also sort the files and clear out the auto-backup folder
once its been sorted.

Every project folder has its own _Process folder that has all of the temporary
working-files that I can later delete, but will need until proofs are sent
off. This folder will have any notes, fonts, images, etc that the client
sends.

This setup isn't fancy by any stretch, but it gives everything a home. When I
start a new project I start off with mkdir -p ProjectName/_Process and fill
that up first. I also rename everything that is sent to me so the file names
make sense.

[1]
[https://formulae.brew.sh/formula/sshfs](https://formulae.brew.sh/formula/sshfs)

------
jchallis
Mari Kondo Mac edition:

Google Drive Personal for all personal files : photos, tax returns, etc. Only
sync files actively touched in last thirty days.

Google Drive Work for all work files : presentations, spreadsheets, contracts.
Only sync things I've actually touched in last week.

Github for code projects. 60 Day Minimum. ~/Documents/codeWork

Anything that is not filed within 30 Days > trash.

Admittedly my Google Drive is a bit gnarly, but the search functions are
pretty solid.

------
statictype
For source code I keep a fairly fixed folder hierarchy. I use ~/<company> for
work stuff and ~/devel/ for personal projects and experiments.

I know a few people who use tags effectively. I never found it to work for me
either.

On the other hand I find Spotlight to be pretty good at finding stuff. I use
It extensively with relatively flat folder structures.

I typically go to the folder I want and then use spotlight to find whateverIm
looking for.

~~~
kranner
Spotlight doesn't work great for me. I have a large number of e-books and
documents in my home directory and Spotlight is likely to return the most
recently added books even if they are completely irrelevant to the search
terms.

Results are a little better, sometimes, if I search specifically in a given
folder and especially if the terms are in the filename. But it really should
work globally.

------
ponyous
Mac's Finder is total garbage compared to any other file browser I used in my
opinion, when I switched from Windows I remember some features missing and
nothing was better. Maybe tags, but I haven't seen anyone use them... I found
tags useful to mark episodes of shows I watched but nothing else really.

I have everything in designated OS folders (Pictures, Videos, Documents, ...)
and a new one called Projects. Projects used to be part of Documents, until
Apple one day decided it's time to sync Documents to the iCloud (with
introduction of APFS), which corrupted my projects folder and just straight up
removed some files (I don't have every toy project in git), so some (5+
projects) are broken now. (note: I did everything to not have that folder
synced, but it just wasn't respected so yeah...).

iCloud contains important documents (subscribed for 200GB extra space).

Since that fuckup with document/projects I subscribed to Backblaze for full
system backup.

Downloads are split into multiple subfolders - different browsers, different
browser profiles (work/personal), torrents.

------
_virtu
I've not figured out how to organize all files on my filesystem, but at least
for my notes, I found that trees just don't cut it. I ended up writing a
visual studio code plugin called vscode-nested-tags that allows you to add
arbitrary tags to any markdown files. These tags can also be nested ala Bear's
and Notable's tag system.

I've found that this helps a lot for organization and allows me to not be
constrained to the file system for organizational purposes. I found that often
times, tickets for specific features turned into useful writeups about the
systems that the feature touched and I wasn't able to capture that with a file
tree.

The plugin can be found here:
[https://marketplace.visualstudio.com/items?itemName=vscode-n...](https://marketplace.visualstudio.com/items?itemName=vscode-
nested-tags.vscode-nested-tags)

------
weej
Rather than worrying about the perfect file structure layout, I focused more
on optimizing indexing and search via fzf. IMO it's a fantastic fuzzy finder
for locating content on device via your terminal.

[https://github.com/junegunn/fzf](https://github.com/junegunn/fzf)

~~~
hairui
I love fzf. I recently discovered that installing a fast search tool like
ripgrep makes fzf _way_ faster over large directory trees.

[https://github.com/BurntSushi/ripgrep](https://github.com/BurntSushi/ripgrep)

------
acoustep
For code I usually use

~/Code

    
    
      ~/projects # for projects that span multiple languages
    
      ~/courses # For the various programming courses
    
      ~/valet # PHP projects using Valet+
    
      ~/devilbox # For Dockerized
    
      ~/elixir
    
      ~/node
    
      etc...
    

For notes I use Inkdrop and split things by hobbies/projects.

One thing I've been having trouble organising is photos. More specifically,
organising original and retouched versions. I've come across one solution
which is to do this:

~/Photos/

    
    
      2018/
    
        SpringOriginals/ # Keep original photos here.
    
        SpringAffinity/ # Save Affinity Photo files here
    
        SpringExports/ # Save exported re-touched photos here
    

I quite like this solution, but I'd be interested in knowing if there's
anything better.

------
jlarocco
A better description of your problem and what you're trying to achieve would
get better answers.

I use the same organization on all of my machines.

Source code goes into ~/src/, each project in its own directory. In some cases
I'll group projects by language in their own sub-directories, for example
~/src/lisp/

Music goes into ~/music/ with a sub-directory per artist, but some genres get
their own sub-directories, with artist sub-directories under that.

Photos go on a dedicated external hard drive.

Books and PDFs go into ~/books/, or one of the topic based sub-directories
underneath it.

Everything else goes into sensibly named sub-directories in $HOME. If I get a
lot of similar directories (2018-taxes, 2017-taxes, etc.) I'll group them in a
sub-directory.

------
ArrayList
I just use Finder and don't worry about it too much.

------
ravenstine
There's really only 3 main directories I'm working out of most of the time:

\- ~/workspace (for work and coding)

\- ~/Documents

\- ~/Downloads

I don't organize or tag them. The most I'll do is use Finder's search
function, but that's rare. I tend to know where things are most of the time.

~~~
tracker1
similar, I also started using a Go-inspired ~/src/HOST/ACCOUNT/REPO pattern
for all my source repositories, which makes that mostly easier to deal with.

For the most part, just using directory structures is all I need. When working
on something temporary, I also have a second SSD mounted and symlinked in
~/Work and another for ~/Projects ... I also have a NAS for backup and hard
storage.

------
whack
Honestly, I don't keep files on MacOS. I upload all files I care about to
Google drive, and use that directly for all editing/viewing/lookups.

For any development work, including my home dir, I create individual git
repositories, and put all relevant files within that repository. You can then
easily back it up on gitlab, and take advantage of all version control
features.

It's only a matter of time before your laptop gets lost, stolen or fails
catastrophically. You'll inevitably find yourself wanting to access the same
files from multiple devices as well. Neither of this will be a problem if you
keep your data in the cloud, and use your computer purely as a compute engine
and local cache.

------
djhworld
My file organisation can mostly be described as a chaos meal, an inexplicable
arrangement of mostly incompatible foods thrown together onto a plate.

It's actually disgusting, but I'm lazy. A lot of my work tends to be ephemeral
stuff, like downloading files and doing some analysis work so I have a folder
called ~/scratch/ where I try to mostly put that stuff.

My biggest issue is I'm so lazy I often have throwaway scripts just sitting in
git repositories that have no relation to the project that repository is for.
It's fun returning to that repository and finding I have a bunch of uncomitted
changes for files like "script.py" and "doit.sh"

------
marschr
-Barebone folders. Tags don't play well with terminal and other *nix filesys.

-A ~/dev folder with dev stuff in it.

-Dropbox/iCloud for important, heavily accessed content.

-Alias on the Desktop for all the WIP/very active projects (usually from my ~/dev/ stuff and synced folder w/ dropbox or icloud)

-Dock folder shortcuts for often accessed folders + grid pop-up menu so I can dragNdrop stuff.

\- Also, Finder sidebar shortcuts for these folders.

\- Downloads are always messy, I usually clean-up every year when I fresh
install the new release of macOS.

\- For images/photos/etc I tend to use dirs with year and quarter numbers,
like 19Q1 as for the 1st quarter os 2019. Prevents huge dirs that take too
long for Finder/Samba to index.

------
amykhar
I tend to keep most of my documents in Dropbox or iCloud, and use Alfred to
find what I want by typing a word that I think is in the title. Dropbox can
search within documents too, and I try to have an organized file structure.

Source code is in a Code directory. I try to keep that directory clean - only
stuff I'm actually working on. Everything is in Git and can be pulled down
very quickly if I need to spin it up again.

I used to love a document database that was geared for researchers and others
who have to catalog a lot of information. It's called DevonThink. I had a
license for it from one of the MacHeist bundles, but it was really overkill
for my document needs.

------
ZachWick
I tend to use top level folder structure of:

    
    
        - Documents
          -- <a folder for each employer>
          -- <a personal folder>
        - Repos
          -- <a folder for each language>
    
    

I also make extensive use of a little rust tool I whipped up which tags file
paths with user defined tags, which are then searchable:
[https://gitlab.com/zwick/genie](https://gitlab.com/zwick/genie)

This allows me to quickly find all file paths that are tagged with <employer
#1> for instance regardless of where they are all from within a terminal.

------
climb_stealth
I use Forklift [0] as a Finder replacement. I don't need most of the extra
features but it is much nicer to work with.

[0] [https://binarynights.com/](https://binarynights.com/)

~~~
jimmcslim
I’ve used Path Finder [1] myself in the past.

[1] [https://cocoatech.com](https://cocoatech.com)

------
adjkant
May seem silly, but I forgo all the default folders (except Downloads
sometimes) and use the Desktop. On my Desktop, I have one folder: All

Inside that is everything, and the desktop then has shortcuts into that and a
single "To Be Sorted" folder that I throw things in when I'm lazy (and clean
up weekly).

My All folder top level:

1-Life (taxes, banking, retirement planning)

2-Philosophy (notes, papers, readings)

3-College

4-Code

5-Professional

Z-Unused

The numbers keep it ordered by use/importance and I usually review and change
the top level yearly.

In the end, file organization has to be something you consistently work at and
have a good system for, regardless of OS. I don't think any tool solves that
conceptual problem.

------
lallysingh
Tags are only useful if you have specific queries intended for them later.
Otherwise it's a word cloud of useless overhead.

(when I last used macs) I used a regular folder structure and Default Folder X
to keep things in there.

------
Symbiote
I mostly use Linux, but I use a terminal 99% of the time, so it's irrelevant.
I have the same setup on a Mac.

I have a few top-level directories, and a little structure beneath that —
little enough that I remember most of it. My home computer directories are
Code, Documents, $EmployerName, Media, Music, Photography, Temp (excluded from
the backup), Web.

Yes, those are capital letters. I think they're neater, and it doesn't slow me
down since I have several Zsh settings and functions to navigate quickly:

ls ~/d/t/p.j<TAB> → Completes to ls ~/Documents/Travel/Passport\ scan.jpg

This was configured using the zsh "compinstall" function – case-insensitive
and partial completions.

cd ~w<TAB> → Completes to cd ~/Web

This is because I've done: hash Web=~/Web

This is the least useful, but could be useful for people who like deep
directory structures.

cd n-w<TAB> → Completes to cd ~/Code/new-website

This is because I've done: export cdpath=( ~/Code ) It's important not to put
too much in cdpath, as it clashes with the contents of the current directory.

emacs m/m-s/s/m/j/o/e/<TAB> → Partially completes to: emacs ~/Code/maven-
project/maven-s/s/m/j/o/e/

with the cursor after the s, because there are two possible directories. I can
type "<TAB><TAB>" to see the possible completions, or type "u<TAB>" since I
know that will complete to

    
    
       emacs ~/Code/maven-project/maven-sub/src/main/java/org/example/
    

I also have shell function for quickly finding by filename:

    
    
      f () {
            echo "find . -iname \"*$1*\""
            find . -iname "*$1*"
      }
    

I'm also using the UK Dvorak layout. Either UK layout puts ~ in a nicer place,
and Dvorak puts / and - in a nicer place, so although it's less effort that it
might appear to a US Qwerty user to type these so much.

------
why-el
I gave upspin (the project that started at Google) a go but I found it a bit
buggy. My dream with be to have $HOME be available in multiple machines, so
that I can log in, start my text editor, my terminals, and everything in
between, and they all pick the right configuration. If anyone is aware of such
project or would like to build one, please let me know.

Of course, it must be more than just rsync, and it needs to be smart about
file downloads, caching when necessary, but also not bloating machines when
one is only curious in a subset.

EDIT: Forgot to mention, should ideally be open source.

------
FerosMorgen
For a start, I don’t have anything at all on the desktop. The download folder
is always clean, because I either delete files or just move them to folders in
documents. I am a perfectionist, and so I am calmer.

~~~
CyberFonic
My top level directories are like: Accounts, Clients, Projects, Apps. Then
sub-directories etc. I use symlinks e.g. when a client project is reused as an
App or vice-versa.

Everything initially gets downloaded into ~/Downloads and then moved as
appropriate. Having two Finder windows open makes this very easy. One stays on
~/Downloads and the other changed to suit the destination.

I am a heavy Terminal user, with multiple active windows, so most of my
current work-in-progress is a "cd ...".

I replicate the above to a Linux desktop with rsync based scripts. So I
basically perform the same activities on both platforms, e.g. LibreOffice,
etc. Hardly use any Apple software anymore, notable exception being iTunes for
the various iPads and iPods around the house and car.

------
leemailll
The thing can be easily implemented with mdutils (may not be the actual name,
i’m On my phone so can’t check) and bash. You can setup a few common
destination folders, and watch folders such as the ~/downalods. Then you can
still use tags for files, and run a bash script which read the tag of files
with mdutils, then move files based on tag pattern to different destinations.

Hazel and maid both can do this, but I don’t wan to spend that much on
something I can scramble in a hour nor learn Ruby. So I just use bash for
this.

------
wareotie
~/Documents

    
    
      Work/
    
      Reference/
    
      Personal/
    

~/Developer

    
    
      src/
    
        github.com/
    
        work.git.server/
    
      bin/
    
      pkg/

------
rubenbe
I keep everything in the following folder structure.
~/projects/<year>/<mmdd>-<projectname>.

e.g. ~/project/2019/0307-hnpost/

It's simple and has been working very well over the years as you can quite
easily find projects based on year and on name. Older projects can be removed
/ pruned you run out of diskspace. Keeping thing organised is just creating a
single folder. I have a ZSH alias called mkproj which quickly creates a new
project.

------
peteretep
I would recommend going with the zen of finder. I basically just throw
everything into Dropbox, unless I am specifically trying to put a collection
together (eg: "documents for meeting 2019-01-01"), and then use Finder.

Surprised nobody has mentioned case sensitivity yet (as far as I can Ctrl-F
for); I have a case-sensitive disk image called ~/dev/ where all code
checkouts live.

Been using autojump for a while to make terminal navigation easier

------
maliker
I give every project their own folder, and I put that in Desktop/Projects/,
which I backup/sync via Google Drive.

Then I navigate using Launchbar
([https://www.obdev.at/launchbar](https://www.obdev.at/launchbar)). It's a
fast search tool, but it has a cool noun-verb interface that lets you find
stuff and then move it/open it/pipe it through a script, etc. Couldn't live
without it.

------
ddebernardy
Code: each project in its own folder.

Docs: date sorted mess with a twist. In over 30 years of using a computer,
I've only rarely gone back to stuff I haven't touched in months. So when I
notice that old files I no longer care much about are starting to pile up, I
create a folder and move applicable files into that folder for archival
purposes. I've a few exceptions for important papers, like contracts and
invoices.

------
Veen
I use folder hierarchies for broad strokes categorisation. Tags for denoting
state - whether a file is a piece of work that needs invoicing for, for
example. And I use Houdah Spot for searching.

I’m a writer who uses Markdown for everything, so I put MultiMarkdown metadata
in files (client, invoice amount, etc) and that’s useful for searches and
grouping (and for scripts to build invoices based on the tags and metadata)

------
radley
I use an old (discontinued) app called DragThing that sits in the lower left
corner of my desktop. It contains tabs for different project groups (Personal,
Websites, Clients, etc). Each tab will have my most often used folders and
I'll add / remove folders as needed.

For keeping my desktop clean, I keep a "clean-up" folder that I can sweep
everything into and clear it out as needed (every 6 months or so).

~~~
dreamcompiler
I loved DragThing. It's what the useless MacOS Dock should have been.

------
floatingatoll
Dropbox/ contains stuff that I’ll need when I’m away from home.

Downloads/ gets purged every few years of stale downloads.

Documents/ gets mission-critical stuff that needs to be backed up but does not
need to be in the cloud.

Pictures/ has all my non-Photos photos, including a quarter terabyte of DSLR
raw files.

Photos and iTunes put their stuff wherever they do.

I have files from 1999 in my home directory so I’m not sure I can offer any
advice on tidying up :)

~~~
boltzmannbrain
> Downloads/ gets purged every few years of stale downloads.

Do you have an automated way of doing this? I keep the Downloads/ finder tab
open at all times so I periodically clean up.

~~~
pvg
Hazel, if you want a GUI tool for that sort of thing.

------
sixhobbits
`ag -g <some fairly unique string>`

I don't have a ton of files, but I'm impressed at how quickly silver
searcher[0] can find things. `-g` if the filename is specific enough. A bit
longer, but not too bad if I need to search by content instead.

[0]
[https://github.com/ggreer/the_silver_searcher](https://github.com/ggreer/the_silver_searcher)

------
crehn
\- ~/<company> for work stuff

\- ~/code for personal projects

\- Photos, music, documents, calendars, etc. synced through iCloud

\- Other various stuff in iCloud Drive, symlinked to ~/cloud for easy access.
Got a stash directory there for random files that I can't bother organizing

Everything else I assume is ephemeral and don't mind if lost.

Using Git for tech projects. Same for dotfiles. No plugins so everything just
works by copying to ~.

------
xbryanx
I have moved just about everything of note off my Mac and onto Google Drive
and Google Team Drive for our org. I then have access to it via Drive Stream
and Google Drive search makes it very easy to find what I'm looking for almost
instantly.

For active code projects I really only keep /usr/local/src on my local drive.
Those are all git repos linked up to GitHub.

------
stunt
I don’t use tags or any software.

I have my own folder structure with my own basic rules. I keep a copy of all
important files synced in Dropbox, iCloud, and an external drive just to be
safe.

Just a little bit discipline to not leave files in temporary places or with
random names, and to clean them up when needed.

Path, directory names, and file names are giving me enough context to find
them.

------
expertentipp
I've learned not to rename the default
~/{Pictures,Downloads,Desktop,Documents,Videos,Music} as they conveniently
have the same name regardless of the OS and there are many applications and
default actions bound to them. Desktop blank. For everything else unix style
filesystem convention - directories at the ~/, all lowercase, name 3-5
characters long.

------
hprotagonist
Nothing goes on my desktop.

Things are split contextually by “where they’re syncing to”— default locations
for photos and music because that’s what itunes wants, work documents in work
dropbox, etc.

Most of the time when i want to find a file i use Spotlight. I don’t really
care where on disk it is per se because i can just fuzzy-search for it in the
GUI or at the command line anyway.

------
wingerlang
I put everything in my Dropbox folder. Then split by various categories,
sometimes things spill into the root but hey.

I use Hazel to automatically move files into a "review" folder to keep thing
either saved or thrown away. Just check it periodically.

------
dkusnetzky
I use MacOS directories as well. The top level directory is the year. The next
level down is the major category, i.e. personal, business, church, etc. The
next level down is the specific project under that category. I also add the
date, in the form yearmonthday (20190307 for example) to the files which keeps
them sorted in date order.

------
yodsanklai
I have a ~/dev folders with all my git projects. Then a ~/shared folder with
stuff shared with a linux server at work (synchronized using unison).
Everything else is on Icloud. I usually have a few files/folders on the
desktop waiting for being sorted. I've never had any use for tags.

------
sambhu
I use this script to manage download directory.

[https://www.shivagaire.com.np/python/2018/08/09/organize-
you...](https://www.shivagaire.com.np/python/2018/08/09/organize-your-
downloads-directory-mess.html)

------
nikivi
I keep everything organized by topic and access everything with Alfred. Wrote
about it in detail here:

[https://wiki.nikitavoloboev.xyz/unix/my-file-
system](https://wiki.nikitavoloboev.xyz/unix/my-file-system)

------
King-Aaron
Chronologically sorted chaos

~~~
ben174
And subdirectory after subdirectory of folders named "stuff".

------
rabboRubble
TagSpaces. Some native color tagging for clean up and directory mindfulness. I
use TagSpaces to mainly create a data retention schedule for tax and finance
data, then per the schedule, actually delete the old crap.

------
konart
I have `build` folder in my home where I keep all my projects.

And an external HDD over SMB for downloads(/Movies, /Series, /Music, /Books et
and a general folder /Spam - it gets cleaned once in a while)

Pretty much it.

------
cdg7777
Good ol' MC: [https://formulae.brew.sh/formula/midnight-
commander](https://formulae.brew.sh/formula/midnight-commander)

------
dec0dedab0de
Like most other commenters I just create directories in my home directory, but
looking at it just now I realize it is way out of hand. I need to clean things
up.

------
Rebelgecko
I use NVAlt, a fork of Notational Velocity for notes, links, and things like
that. It more or less syncs with SimpleNote so I can use it on my phone too

------
dandigangi
At ~ (tilde) "root", I have 3 major folders.

\- Work \- Labs (informal code projects and practice) \- Personal

But I keep my files in Google Drive that are in less need of security.

------
Terretta
DON'T KEEP THEM ORGANIZED... USE SEARCH

Learn to love Search, but give yourself a manual cheat mode that doesn't take
any effort to maintain.

I use the application "Hazel" with two tactics, one to clean up Desktop, one
to clean up Downloads.

For desktop, I use a freshness rule, and then a manual lookup hack. If it's
likely this file isn't changing any more, Hazel sweeps it into folder.

In downloads, I do freshness, but with a variant manual lookup hack.

DO GIVE YOURSELF A MANUAL/MEMORY METHOD TO FINDING FILES

What I mean by manual cheat mode or manual hack is, can I find this file very
quickly using just what I have in my head, without having had to identify
content and file accordingly?

For the hack, I file by buckets of dates. What I've found is, I can generally
recall what I was working on when I had that file, and from that I can recall
generally when I was working on it. So, if I can "file by date" with an
appropriate granularity where I balance a fuzzy "when" with a glanceable
number of files, then I can find it by looking in usually one but at most
maybe three buckets. Bonus: date folders also make it easy to scope searches.

Depending on the nature of work, my buckets range from quarterly at the
largest, to weekly at the smallest. I name them YYYY QN/FILE, YYYY/YYYY-
MM/FILE, or YYYY/YYYY-WW/FILE. If I'm doing quarterly, the folders are not
nested inside the year.

For downloads, I add a layer between the date folder and file: domain. I used
to just use domain and replace files of same name like "latest.zip" but over
time I began to value having the prior version of downloaded things. So
downloads look like YYYY QN/DOMAIN/FILE.

AUTOMATED SCHEME EXAMPLE

Putting it together, my current scheme on home laptop is:

    
    
        Desktop 
    
        - File by Week Last Opened > YYYY QN/FILE
          method: sort into subfolder
          trigger: date last opened not blank and last opened is not last 2 days
          date = date last opened
    
        - File by Week Last Modified If Not Opened > YYYUY QN/FILE
          method: sort into subfolder
          trigger: date last opened is blank and last modified is not last 2 days
          date = date modified
     
        Downloads
    
        - Quarterly Sources > YYYY/DOMAIN/FILE
          method: sort into subfolder
          trigger: date added not last 4 weeks
          date = date added
    

Hazel has additional features such as what to do with duplicates, that you can
tailor to your preferences.

As a further bucketing mechanism, if you use many machines for different
modalities and collect all those files into a single 'cloud' place they all
can reach, you can append the machine or hostname to the dated bucket. That
lets you have selective sync rules to different machines, but also find all
the content in one place.

ALWAYS BE ORGANIZED, BY NEVER ORGANIZING!

I never file anything anywhere, I just let these rules grab them and squirrel
them away. If I need a set of files across dated folders, monthly bank PDFs
for example, I pop open a folder, see the relevant filename, and run a search
for that, then select all and send to accountant.

SPECIALS

Code repos are special cased, within a source code management folder tree, not
worked from desktop. Vagrant and Virtual Box VMs, Pictures, Media, Music, also
special case managed by their tools.

~~~
lolftw
I like your rule based approach. I think I'll try it for myself.

My main "problem" with organization methods, is that I feel they get in the
way of my creation process.

If i'm creating a PPT and I need an icon pack I don't want to think to where
should I donwload it, if the project as a folder, where to export it or
whatever... Just give me the icons, right now Im creating a presentation, I
could care less about how my files are structured.

The final presentation will end up on google drive, or somwhere else "safe".

Your approach allows me to do this, and keep everything organized at the same
time.

------
tga
I add #tags to filenames. This makes them easily portable and searchable
everywhere, even when shared over the network.

~~~
blacksmith_tb
You can 'brew install tag'[1] and manage them in metadata, which will also
expose them in Spotlight, sorting in Finder etc. (but not so handy across
OSes)

1: [https://github.com/jdberry/tag](https://github.com/jdberry/tag)

------
itake
Active projects go in:

~/projects

Dead projects go in:

~/projects/archive

------
bibyte
I just use folders. My top folders are code, Documents, Music, Videos and
Others.

------
notadoc
Labeled folders within labeled folders, accessed through Finder and Terminal

------
yeukhon
Short answer: I don't.

------
yaodong
All project files live under ~/Documents; Others go to DEVONthink.

------
tammer
Fun tip: Make a folder called “Developer” in ~

Take a look in Finder.

~~~
D-Coder
I get a folder named "Developer" with an icon of a folder with a hammer. What
do you get?

------
emgee_1
Emacs with dired; also on Linux and all Bsd’s

------
StreamBright
Mostly:

~Documents/$project_name/

~code/$project_name/$repo

------
expopinions
You can right click on any file/s and select a colored label from the menu.
After that you can click on any of the colored labels on the sidebar and see
what files you tagged with which color.

------
sureaboutthis
MacOS is a UNIX system so I keep files organized there just like I do on
FreeBSD and other Unix systems.

