Notes Apps That Actually Let You Find Stuff Later

Recursive Tagging Is Unsupported, Except When It’s Not

Ever tried to tag a note with a tag that itself is a child of another tag — and then wanted to search by the parent? Like tagging a project note with #work/clientX/project and then later wondering why searching for #work turned up zero results? Yeah. Not every app interprets nested tags the same way.

In Bear, nested tags kind of work like directories in that slashes visually nest them, but searching for #work won’t bubble up any notes unless that exact tag exists on the note. This breaks down fast when you’re doing project-client-child hierarchies. Obsidian has community plugins that try to surface descendant tags, but out of the box? You’re on your own.

I remember thinking I was clever—using a nested #archive/finances/2022 system. Two months later, I literally couldn’t find half of what I’d written because I kept searching for #finances. Nothing came up. Because that specific tag string never existed.

Logically, it feels like this should just work: search is aware of tag inheritance. But it usually doesn’t unless explicitly supported, and almost no app mentions how they treat parent-level queries.

Full-Text Search Lies (and Indexing Delays)

Apps love to tout “instant full-text search.” That’s marketing, not reality. If you’ve sat there watching your JustPressRecord dictation slowly propagate into Notion or Evernote, you’ve already seen the problem: there’s often a lag between note creation and index update. Depending on the sync engine, it can take minutes.

Zoho Notebook, for example, sometimes silently delays indexing new audio or scanned documents until the next background sync, which can be anywhere from 5 seconds to 5 minutes. If you immediately search for a keyword you just typed or dictated… crickets.

Things get especially sketchy if you’re syncing across platforms. I once created a note in Joplin on mobile and synced it to desktop. Searching immediately on the desktop version did not surface the new note—even though it was there. Joplin needs to rebuild local indexes, which it defers to avoid performance choke. You can force it, but it’s deeply buried in the settings.

“Indexing… skipped (not enough RAM)” — legit debug log from Joplin when my laptop fans spiked during a Zoom call.

Search Operators Actually Worth Memorizing

Most of these apps offer some flavor of boolean or structured search—but parsing their capabilities is never straightforward. If you want to consistently surface what you need, the built-in operators can save you from scrolling forever.

  • Evernote supports intitle:, tag:, and created:, but -tag: and -intitle: do not negate, they error out.
  • Obsidian’s search bar accepts regex if you preface the query with /your_regex/, but doesn’t like trailing slash variants.
  • Notion lets you search for tags via tag:whatever but that only works in database filters, not global search. Ask me how I learned that one.
  • UpNote has full-phrase search (with quotes), but doesn’t highlight results in-body unless the whole phrase matches.
  • Apple Notes has zero public documentation on syntax. The only working trick I’ve found: prefix search with a date, like “May 2021 taxes” retrieves more than just “taxes.”

The standout: Bear, which handles keyword tag:title -@done @today like a damn text-based filter wizard. Still not perfect, but more powerful than it looks.

Backlinking Without the Graph Guilt

People get psyched about backlinking thanks to Obsidian’s pretty graph views. But let me level with you: the graph doesn’t scale. After about 200 notes, it’s noise. Worse, the prettiness seduces you into believing you’ve organized something, when what you’ve really done is built an unqueryable web of lunch thoughts and half-baked projects.

Backlinks are powerful, but only if the app lets you query them structurally. Obsidian does OK—you can combine search operators with backlink:"note title" using plugins like Dataview. Roam does it natively, albeit in a kind of mind-melting syntax. Apple Notes? Zero backlinks. Evernote? Manual only.

What absolutely broke my brain once: I was using Logseq, had a page called “Ideas – Monday” and another one linked to it via [[Ideas - Monday]]. But search for Monday? That linked reference didn’t show up until I clicked into the backlinks manually. Why? Because Logseq autocompletes link text but stores backlinks inside a block reference tree that doesn’t expose plain text titles during global indexing. That took two hours and a grep to figure out.

Hierarchical Folders Still Beat Tags in Large Volumes

If you’re managing more than maybe 300 notes, plain tags start getting unruly. You forget what you’ve used, duplicate concepts, and miss things like singular/plural mismatches. With folders, at least your structure is visible. I keep customer support logs inside foldable directories by quarter because tagging those would be meaningless.

The glitch? In Notion, folder-equivalent structures (i.e., databases and nested pages) don’t surface in regular file system views. You can’t CMD+P into a nested page if it’s more than two levels deep unless recently viewed. Evernote handles foldered stacks with better visibility, but doesn’t allow sub-notebook nesting, meaning you’re maybe one level away from chaos at all times.

One small productivity thing that paid off huge

I started adding a “ ” emoji to any note title that functions like a folder index (reading lists, project overviews, etc). Then, in apps with basic global search, typing just that emoji gives me my “top-level” content anchors instantly. It’s dumb, but stupidly effective across platforms.

Metadata Capture: Rare, Inconsistent, and Often Invisible

Let’s talk note metadata—actual creation dates, last edited, source device, maybe even geolocation. You’d think this would be standard. Nope. Unless you’re exporting raw JSONs or digging inside SQLite DBs, most apps won’t let you see or search based on metadata.

Case in point: I wanted to find all notes created during a client trip in Berlin. Apple Notes recorded the GPS metadata, but there’s no UI to sort or filter by it. Joplin stores updated times in UNIX timestamps, accessible only by export. Notion just gives you created_at timestamps, but no way to filter by physical location or input source.

True story: I had a roasted chicken grease-fingerprint on my iPhone screen. Wanted the note I’d typed—which I knew was around lunch. Couldn’t search notes by time-of-day created. Still haunts me.

Undocumented Storage Quirks That’ll Bite You

Quick warning for the sync squishers out there: not all apps treat storage formats kindly across export/import. I once exported Zettlr notes in Markdown, imported into Obsidian, and half my backlinks broke. Turns out, Zettlr wraps links in link titles like [Link to something](note.md), while Obsidian expects [[note]] formatted links instead. Both use .md, but the rendering logic differs just enough to tank the usefulness of your old notes.

Same goes for encrypted notes. Standard Notes stores E2EE blobs that require decryption before any external processing. You can’t grep those files unless you’re running SN’s CLI decryptor. That’s fine…unless you forget your password and also didn’t back up the keys (which are never stored in your plaintext backups, and their auto-export tool doesn’t warn you about that).

And woe to whoever trusts Google Keep as a long-term archival system. You can export via Takeout, but what you get is a folder of loose HTML files with broken image refs and no sorting or threading whatsoever. Good luck trying to parse anything by date.

Missed Edge Cases That Only Show Up in Backups

I had Logseq notes with non-ASCII filenames—specifically, one named “薪水计划.md”. Worked fine until I ran a backup on an AWS EC2 instance using rsync, and it skipped that file with no warnings. Here’s the kicker: rsync would happily copy the file if I zipped the folder first. But raw sync silently ignored it.

Worse, the local Logseq UI rendered it fine, but Markdown viewers on macOS just saw question marks for the filename. Unicode compliance is not a default. When I restored from backup, the file was gone. The OBVIOUS solution is to run backups via zip or tar to prevent OS-level encoding issues, but that’s a lesson no one teaches until it burns you.

Also: Check whether your app stores note titles as filenames or just IDs. Obsidian uses filenames. Bear uses UUIDs. That difference matters when auditing backups for corruption or recovery.

Keyboard Navigation vs. Actual Speed

Seriously, most of these apps claim hotkey support, but very few do it right. Apple Notes is stuck in the stone age—TAB won’t even traverse UI elements. Evernote improved things on desktop, but the mobile version still lacks jump-to-last-edited-note. Notion’s CMD+P (or CMD+K) is decent, but doesn’t prioritize recent matches if the page title has a special character in it (like “/” or “#”).

I timed it: opening a note with a long, oddly-spelled name (“Chronoreactive Feedback Log”) was faster using Alfred’s file fuzzy search and opening the Markdown file via VSCode. That’s absurd, but true. The UI layers just get in the way.

Joplin’s got this weird behavior where CTRL+P opens note search, but not tag search—even though it uses the same field. You can miss entire swaths of content unless you invoke the tag sidebar manually.

The only real solution I’ve found is to Alfred or Raycast your notes folder if you’re on macOS, and assign custom hotkeys to app-specific actions. The default bindings probably aren’t tuned for power users, let alone frantic last-minute reference pulls during live calls.

Anyway, I’m still using half of these tools. Mostly through inertia. But until one of them drops a sane graph+backlink+regex+snippet+offline+encrypted setup, I just keep duct-taping workflows together.

Similar Posts