1. Emacs + Org mode & Org Roam.
2. All my notes are synced in Dropbox so I can use the beorg app on iOS.
3. Any time I need a note (be that to look for one or create one) I have a shortcut, Cmd + N and I start typing a topic (Health, Xcode, Java, etc). If i've found a match it shows up in a list, if there is no match there is a prompt to create a new note. I don't care about overlapping notes because;
4. Search over notes by pressing Cmd+F. This starts a fzf search over the notes. If I see multiple notes on the same topic I can link them using org-roam references, consolidate them if they are similar enough, or if I don't care just leave it as is.
People always commend me on my astounding memory. It's all down to org-mode.