How to Build a Personal Knowledge Management System That Actually Works — The PARA + Obsidian + Sync Method
On this page · 12 sections
- 1. Why PARA Beats Topic Folders
- 2. Create the Vault Structure (5 minutes)
- 3. Git Sync Setup (20 minutes)
- 3.1 Create Private GitHub Repo
- 3.2 Connect Local to Remote
- 3.3 Configure Obsidian Git Plugin (Desktop)
- 3.4 Mobile Sync (iOS/Android)
- 4. Capture Templates (15 minutes)
- 4.1 Fleeting Capture (Daily Note)
- 4.2 Literature Note (From Source)
- 4.3 Permanent Note (Atomic, Linked)
- 4.4 Project Note (Action-Oriented)
- 4.5 Area Note (Standard Maintenance)
- 5. Core Settings (10 minutes)
- 6. Weekly Review Protocol (30 minutes, recurring)
- The Protocol (Do In Order)
- Detailed Steps
- 7. Interactive Setup Checklist (Track Your Progress)
- 8. Common Failure Modes & Fixes
- 9. The First Week: Bootstrapping Habits
- 10. Minimal Viable Workflow (Cheat Sheet)
- What This System Costs
- Start Now
- Also see: The holiday decision framework
- Also see: DES maps the cosmic web
- Also see: How to write regular expressions
flowchart TD
subgraph Problem["Why PKM Fails"]
P1["Folders by topic →\ncontext collapse"]
P2["No action orientation →\narchive of good intentions"]
P3["Sync breaks →\ntrust lost"]
P4["Review never happens →\nrot accumulates"]
P5["Too many plugins →\nfragile, confusing"]
end
subgraph Solution["This Guide's Stack"]
S1["PARA: action-oriented\n4 folders only"]
S2["Obsidian: local-first,\nMarkdown, extensible"]
S3["Git sync: reliable,\nversioned, free"]
S4["Templates: capture\nwithout friction"]
S5["Weekly review: 30 min\nprotocol, not vibe"]
end
Problem --> Solution
style Problem fill:#f8d7da,stroke:#333
style Solution fill:#d4edda,stroke:#333
Time to working system: 90 minutes. Prerequisites: GitHub account, Obsidian installed (desktop + mobile), basic terminal comfort. Philosophy: Action over organization. PARA (Projects, Areas, Resources, Archives) by Tiago Forte organizes by when you need it, not what it’s about.
1. Why PARA Beats Topic Folders
Topic folders (what most people do):
├── Psychology
│ ├── Cognitive biases.md
│ └── Habit formation.md
├── Programming
│ ├── Rust async.md
│ └── Git workflows.md
└── Health
├── Sleep.md
└── Nutrition.md
PARA (what works):
├── 1-Projects # Active, deadline-driven
│ ├── Rust CLI tool v1.0
│ └── Marathon training Q4
├── 2-Areas # Ongoing standards
│ ├── Health & Fitness
│ ├── Software Engineering
│ └── Finance
├── 3-Resources # Reference, no deadline
│ ├── Cognitive biases
│ ├── Rust async patterns
│ └── Sleep science
└── 4-Archives # Completed/inactive
├── Rust CLI tool v1.0 (done)
└── Half-marathon 2025
The difference: In topic folders, “Rust async” lives in Programming. But when you’re building a CLI tool (Project), you need it now — you don’t want to navigate to Programming → Rust. In PARA, you link the Resource note from the Project note. The note lives once; the context lives where the work happens.
2. Create the Vault Structure (5 minutes)
# 1. Create vault directory
mkdir -p ~/ObsidianVault && cd ~/ObsidianVault
# 2. Initialize git (do this FIRST — before any files)
git init
echo ".obsidian/workspace*" > .gitignore
echo ".obsidian/cache*" >> .gitignore
echo ".trash/" >> .gitignore
# 3. Create PARA folders
mkdir -p "1-Projects" "2-Areas" "3-Resources" "4-Archives"
# 4. Create template folder
mkdir -p "Templates"
# 5. Create MOC (Map of Content) index files
cat > "1-Projects/_MOC.md" << 'EOF'
# 📁 Projects MOC
*Active projects with deadlines. Move to Archives when done.*
EOF
cat > "2-Areas/_MOC.md" << 'EOF'
# 📁 Areas MOC
*Ongoing responsibilities with standards to maintain.*
EOF
cat > "3-Resources/_MOC.md" << 'EOF'
# 📁 Resources MOC
*Reference material. No deadline. Link from Projects/Areas.*
EOF
cat > "4-Archives/_MOC.md" << 'EOF'
# 📁 Archives MOC
*Completed projects, inactive areas. Search-only.*
EOF
# 6. Initial commit
git add . && git commit -m "chore: initial PARA structure"
Verify: ls -la should show four numbered folders + Templates + .git.
3. Git Sync Setup (20 minutes)
3.1 Create Private GitHub Repo
- Go to GitHub → New repository
- Name:
obsidian-vault(or your choice) - Private (required — your notes are private)
- Don’t initialize with README/license/.gitignore
- Copy the repo URL:
https://github.com/YOURUSER/obsidian-vault.git
3.2 Connect Local to Remote
cd ~/ObsidianVault
git remote add origin https://github.com/YOURUSER/obsidian-vault.git
git branch -M main
git push -u origin main
3.3 Configure Obsidian Git Plugin (Desktop)
- Open Obsidian → Settings → Community plugins → Turn on
- Browse → Search “Obsidian Git” → Install → Enable
- Settings → Obsidian Git:
- Auto pull on startup: ON
- Auto push: ON (interval: 5 minutes)
- Commit message:
chore: auto-sync {{date}} - Branch: main
- Remote: origin
- Test: Create a test note → wait 5 min → check GitHub repo
3.4 Mobile Sync (iOS/Android)
Option A: Working Copy (iOS) / MGit (Android) — Recommended
- Install Working Copy (iOS) or MGit (Android)
- Clone your private repo in the app
- In Obsidian mobile: Settings → Vault → Open vault folder → Select the cloned repo folder
- Workflow: Working Copy/MGit pulls/pushes; Obsidian reads/writes files
Option B: Obsidian Sync (Paid, $8/mo) — Skip git, use Obsidian’s sync. Simpler but costs money.
Option C: GitHub Codespaces + Obsidian Web — For advanced users only.
4. Capture Templates (15 minutes)
Create these in Templates/. In Obsidian: Settings → Templates → Template folder location → Templates.
4.1 Fleeting Capture (Daily Note)
File: Templates/Fleeting Capture.md
---
type: fleeting
date: {{date:YYYY-MM-DD}}
time: {{time:HH:mm}}
tags: ["how-to", "productivity", "obsidian", "knowledge-management", "para", "note-taking", "git"]
---
# Fleeting: {{title}}
{{cursor}}
**Source**:
**Context**:
**Action**: [ ] Process to literature/permanent [ ] Delete
4.2 Literature Note (From Source)
File: Templates/Literature Note.md
---
type: literature
date: {{date:YYYY-MM-DD}}
source: "{{title}}"
author:
url:
tags: ["how-to", "productivity", "obsidian", "knowledge-management", "para", "note-taking", "git"]
---
# {{title}}
**Source**: {{author}} — {{url}}
## Key Claims
-
-
## My Reactions
-
-
## Connections
- [[Related note]]
-
## Action Items
- [ ] Create permanent note:
- [ ] Add to Project:
- [ ] Share with:
4.3 Permanent Note (Atomic, Linked)
File: Templates/Permanent Note.md
---
type: permanent
date: {{date:YYYY-MM-DD}}
tags: ["how-to", "productivity", "obsidian", "knowledge-management", "para", "note-taking", "git"]
---
# {{title}}
**One-sentence claim**:
## Explanation
## Evidence / Reasoning
## Connections
- **Supports**: [[Note]]
- **Contradicts**: [[Note]]
- **Extends**: [[Note]]
- **Example of**: [[Note]]
## Context
- **Project**: [[Project name]]
- **Area**: [[Area name]]
- **Resource**: [[Resource name]]
4.4 Project Note (Action-Oriented)
File: Templates/Project Note.md
---
type: project
status: active
deadline: {{date:YYYY-MM-DD}}
tags: ["how-to", "productivity", "obsidian", "knowledge-management", "para", "note-taking", "git"]
---
# {{title}}
**Goal**:
**Deadline**:
**Success criteria**:
## Next Actions
- [ ]
- [ ]
## Resources Needed
- [[Resource note]]
-
## Related Areas
- [[Area name]]
## Log
- {{date:YYYY-MM-DD}}: Created
4.5 Area Note (Standard Maintenance)
File: Templates/Area Note.md
---
type: area
tags: ["how-to", "productivity", "obsidian", "knowledge-management", "para", "note-taking", "git"]
---
# {{title}}
**Standard**:
**Current status**:
**Review frequency**: Weekly / Monthly / Quarterly
## Sub-areas
-
## Active Projects
- [[Project]]
## Key Resources
- [[Resource]]
## Metrics / Dashboard
-
5. Core Settings (10 minutes)
In Obsidian Settings:
| Setting | Value | Why |
|---|---|---|
| Editor → Default new note location | 1-Projects | Bias toward action |
| Editor → Always update links | ON | Links survive moves |
| Files & Links → Default location for new notes | 1-Projects | Same |
| Files & Links → Confirm before deleting | ON | Safety |
| Appearance → Show line numbers | ON | Code blocks, review |
| Core plugins → Templates | ON | Required |
| Core plugins → Daily Notes | ON | Fleeting capture home |
| Core plugins → Outliner | ON | Task management |
| Core plugins → Workspaces | ON | Save pane layouts |
Daily Notes plugin config:
- New file location:
1-Projects/_Daily - Template:
Templates/Fleeting Capture.md - Date format:
YYYY-MM-DD
6. Weekly Review Protocol (30 minutes, recurring)
Schedule: Every Sunday 7:00 PM (calendar block, non-negotiable).
The Protocol (Do In Order)
flowchart TD
R1["1. Git sync check\n(pull/push clean?)"] --> R2["2. Daily notes sweep\n(fleeting → process/delete)"]
R2 --> R3["3. Project review\n(each active: next action? blocked?)"]
R3 --> R4["4. Area standards check\n(any slipping? metric update?)"]
R4 --> R5["5. Resource triage\n(new items filed? links added?)"]
R5 --> R6["6. Archive sweep\n(anything to reactivate?)"]
R6 --> R7["7. Capture inbox zero\n(no unprocessed fleeting)"]
R7 --> R8["8. Next week preview\n(top 3 priorities set)"]
Detailed Steps
1. Git Sync (1 min)
# In terminal or Obsidian Git panel
git status # Should be clean
git pull # Get any remote changes
2. Daily Notes Sweep (5 min)
- Open each daily note from past week
- For each fleeting item: Process (→ Literature/Permanent/Project) or Delete
- No “I’ll decide later” — decide now
3. Project Review (10 min)
For each note in 1-Projects/:
- Is deadline still real?
- Is next action clear? (If not, write it)
- Blocked? → Write blocking issue as task
- Stalled 2+ weeks? → Move to Archives or re-scope
4. Area Standards (5 min)
For each note in 2-Areas/:
- Current status vs. Standard — gap?
- Metric updated? (weight, savings, code coverage, etc.)
- Any project needed to close gap?
5. Resource Triage (5 min)
- New PDFs/articles saved → Create Literature notes
- Orphan notes (no links) → Add connections or delete
- Duplicate concepts → Merge
6. Archive Sweep (2 min)
- Any archived project now relevant? → Move back to Projects
- Any area now inactive? → Move to Archives
7. Inbox Zero (2 min)
- No fleeting notes older than 7 days unprocessed
8. Next Week Preview (1 min)
- Write top 3 priorities in next weekly daily note
7. Interactive Setup Checklist (Track Your Progress)
Phase 1: Vault & Git (25 min)
Phase 2: Obsidian Config (10 min)
Phase 3: Templates (15 min)
Phase 4: Sync & Mobile (20 min)
Phase 5: First Content (10 min)
Phase 6: Review Rhythm (5 min)
8. Common Failure Modes & Fixes
| Failure Mode | Symptom | Fix |
|---|---|---|
| Collector’s fallacy | 500 unread PDFs, 0 notes | Delete 80%. Keep only what you’ll actually write a Literature note for. |
| Perfectionist templates | Spend 30 min formatting a note | Templates are scaffolding, not art. Fill → link → move on. |
| Project proliferation | 20+ active projects | Max 5 active projects. Others → Someday/Maybe (in Area) or Archive. |
| Sync conflicts | “Merge conflict” on mobile | Always pull before edit. If conflict: git status, keep both, resolve in Obsidian. |
| Review drift | “I’ll review later” → 3 months | Calendar block = commitment. Treat like dentist appointment. |
| Plugin creep | 47 plugins, vault slow | Core only: Git, Templates, Daily Notes, Outliner. Add one only when pain demands it. |
| Mobile friction | Never capture on phone | Working Copy/MGit + Obsidian mobile = 3 taps to capture. Practice once daily. |
| Link rot | [[Broken links]] everywhere | Settings → Files → Detect links with different case ON. Weekly review catches rest. |
9. The First Week: Bootstrapping Habits
| Day | Focus |
|---|---|
| Mon | Capture everything fleeting. Don’t process yet. |
| Tue | Process Monday’s fleeting → 3 Literature, 2 Permanent, 1 Project |
| Wed | Create 2 Area notes (Health, Work). Set standards. |
| Thu | Link Resources from Projects. Feel the PARA difference. |
| Fri | Mobile capture test: photo → fleeting → process on desktop |
| Sat | Rest. Let it settle. |
| Sun | First Weekly Review (30 min protocol) |
10. Minimal Viable Workflow (Cheat Sheet)
CAPTURE (mobile/desktop, <30 sec):
Daily Note → Fleeting template → type → done
PROCESS (weekly review, per item):
Fleeting → Literature (if from source)
→ Permanent (if your insight)
→ Project (if actionable now)
→ Delete (if noise)
PROJECT WORK (daily):
Open Project note → Do next action → Update log
AREA MAINTENANCE (weekly):
Open Area note → Check standard vs reality → Spawn Project if gap
SYNC (automatic):
Git pushes every 5 min. Mobile: pull in Working Copy/MGit before edit.
What This System Costs
| Component | Cost |
|---|---|
| Obsidian | Free (Personal) |
| GitHub Private Repo | Free |
| Obsidian Git Plugin | Free |
| Working Copy (iOS) | $17.99 one-time |
| MGit (Android) | Free |
| Total | $0–$18 |
No subscription. Your data: plain Markdown in a git repo you own. Portable forever.
Start Now
- Open terminal. Run the vault creation commands (Section 2).
- Create GitHub repo. Push.
- Open in Obsidian. Install plugins.
- Create templates. Copy from Section 4.
- Set up mobile. Working Copy/MGit.
- Run first weekly review this Sunday.
90 minutes from now, you have a system that scales. Not a productivity fantasy — a working tool.
Take a break
A mini crossword and a Sudoku, set for this article. They play offline and nothing leaves your browser.
Mini crossword
Across
Down
Sudoku 0:00
Comments
Loading the conversation…