Obsidian sync that stalls for ten minutes is rarely a size problem. It is a separation problem. Put AI's leftovers and the notes you actually read in the same drawer, and the drawer collapses.
If you have opened Obsidian on your phone and watched the sync wheel spin for ten minutes, you have met this problem. I have too. First I blamed the network. Then I blamed the cloud provider. Neither was the culprit. The culprit was me. I had put AI-generated files and my own notes in the same folder.
Let me walk through this from first principles. What Obsidian is, why sync grows this heavy, and how to split it. Today's example happens to be Obsidian, but the principle applies to any tool — Dropbox, iCloud, a shared drive at work. Same shape.
Let's start with the principle. The files you handle split into two kinds. Files a human reads and writes directly — notes, essays, meeting records, lecture notes. You open these every day, and you want them on your phone too.
And byproduct files made by AI or tools — caches, logs, temporary images, auto-generated indexes, experimental scripts. You almost never read these. Tools write them and tools read them. But there are many. Hundreds appear per day.
Mix the two in the same folder and sync dies. The cloud compares files one by one. You changed a single note, and the system scans 3,000 AI logs next door, checking every one of them. One task carries three thousand check-ins on its back.
Company analogy: it is like putting the CEO's office and the warehouse in one room. Every time the CEO looks for a file, inventory counting runs in parallel. No time is left.
Let me show it concretely. I let AI agents like Claude Code and Antigravity work inside my local folder. They leave footprints.
How many pile up per day? On my folder, over ten thousand. Size-wise it isn't much — mostly a few kilobytes each. The problem is count. Sync slows in proportion to the number of files.
So opening Obsidian on my phone took ten minutes. I wanted to read one meeting note, and the system was busy pulling down ten thousand caches an AI had made. My note would have loaded in 0.1 seconds, but I was paying a ten-thousand-fold tax.
Here comes the first aha.
The problem isn't file volume. It is that the reader and the maker share the same lane.
Picture your kitchen. Food splits into two kinds. Today's side dishes you open daily, and the kimchi jar that lasts a month. Most of the time you reach for the side dishes. Kimchi, rarely.
That is why fridges keep side dishes up top and kimchi in a separate kimchi fridge. Why bother? Because cold air escapes every time you open the door. If daily items sit deep, you open long every day and the power bill climbs.
Files work the same way. Daily notes go into the shallow fridge that syncs to mobile. AI byproducts go into the deep pantry that does not sync. Split by depth, matched to how often you actually reach. That is the whole game of file management.
Here is the gap, measured. My .obsidianignore before and after.
| Item | Before | After | Change |
|---|---|---|---|
| Files in sync | 12,400 | 680 | 18× fewer |
| Mobile first load | ~9 minutes | ~4 seconds | 130× faster |
| Monthly cloud tier | Paid upper tier | Free baseline | $8/month saved |
| Obsidian search | 2 seconds felt | Instant | Whole feel changes |
I didn't touch a single note. All memos are there. AI byproducts are still local. I only stopped sending them to mobile. That one split made sync 130 times faster.
Don't overthink it. As you meet each file, ask one question.
"Will I pull this up on my phone?"
The answer splits into three.
Daily notes, lecture notes, idea catch-all, checklists. Things you want on your phone. Keep these in the sync folder. Must stay small in size and few in count.
Code, long-form project drafts, docs needing version control. Push these to a repo like GitHub. Available from mobile if needed, but no real-time sync necessary.
AI agent caches, script logs, auto-generated images, experimental scraps. Keep these local and exclude from mobile sync. Files you don't read, but that weigh sync down.
Three-word memory hook: Daily syncs. Sometimes GitHub. Rarely local.
Create a file called .obsidianignore at the root of your Obsidian vault. Inside, list — one per line — the folders not to sync to mobile.
.claude/
.cache/
logs/
_Store/
_Archive/
*.tmp
Line one .claude/ is the config folder Claude Code uses. Agents pile caches there. .cache/ is the same kind of thing. logs/ holds execution records. _Store/ is where I keep large media, _Archive/ is retired projects. The last line *.tmp excludes all temp files.
Save, done. One line per exclusion, save the file — that's it. Obsidian quietly drops these folders from mobile sync. Existing files stay put. The effect kicks in on the next sync.
If you use Dropbox or iCloud instead of Obsidian, the principle is the same. Every tool has its exclude list. Dropbox calls it Selective Sync. iCloud, Optimize Storage. Git, .gitignore. Different names, same role. A setting that decides which files leave which lane.
One setup and you're not done. AI agents keep spawning new folders. Start a new project, new caches. Install a new tool, new byproduct folder. I run a five-minute lane audit every Friday evening.
The method is simple. List the top ten biggest folders inside the vault root and see if any don't need syncing. If yes, add a line to .obsidianignore. On a Mac one terminal line does it: du -sh *. Every month this pushes two or three new folders out of the sync lane. Lane management isn't design; it is habit.
Let me tie the principle together.
Files come in two kinds — ones a human reads directly, and byproducts made by tools. Share one sync lane and the tools' tens of thousands bury yours. The fix is simple: split the lane. Mobile lane, GitHub lane, local-only lane. Decide once where each file belongs.
Obsidian may be renamed in a few years. The principle holds. Any tool that syncs faces the same shape. The more files AI agents make, the more this lane-split instinct matters. Tools change. The instinct for lane design doesn't.
Three words to close.
Daily syncs. Sometimes GitHub. Rarely local.