Skip to content

Personal Docs Structure Guide

A domain-driven documentation system for personal life administration, learning, and creative work—optimized for both human navigation and AI ingestion.


Core Principle

The file path encodes context.

content/{DOMAIN}/{SYSTEM}/{TYPE}/{FILE}

When your Go service (or any AI) reads 30_property/home/sops/winterize-pipes.md, it immediately knows:

  • Domain: Property (physical assets)
  • System: Home
  • Type: SOP (a procedure)
  • Topic: Winterizing pipes

No frontmatter required for basic context. The path does the work.


Domain Overview

Range Purpose Domains
00–01 Meta PKM system, personal tech
10–50 Life Admin Identity, finance, property, health, family
60–70 Growth Creative work, learning
80 Cross-cutting General reference
90 Historical Immutable records

Numbers leave gaps intentionally—you can insert new domains without renumbering.


The Domains

00_meta/

What this knowledge base is and how to use it.

00_meta/
├── templates/      # Document templates
└── workflows/      # Capture, review, archive processes

Use for: PKM philosophy, tagging conventions, review schedules.


01_technology/

Your personal tech infrastructure.

01_technology/
├── network/        # Home network topology, router configs, VLANs, DNS
├── devices/        # Inventory with specs, serial numbers, warranties
├── services/       # Subscriptions, licenses, self-hosted apps
└── development/    # Dev environment setup, dotfiles, tooling reference

Use for: Anything you'd need if you had to rebuild your tech setup from scratch.

Examples: - network/home-network-diagram.md - devices/macbook-pro-2023.md - services/software-subscriptions.md - development/go-environment.md


10_identity/

Legal identity and account credentials.

10_identity/
├── documents/      # Passport, license, birth certificate, SSN notes
├── accounts/       # Master account reference (not passwords—use a password manager)
└── records/        # Signed legal documents, filings

Use for: "Where is my passport number?" "What's my driver's license expiration?"


20_finance/

All money matters.

20_finance/
├── banking/        # Bank accounts, routing numbers, contacts
├── investing/      # Brokerage accounts, allocation strategy
├── taxes/
│   └── records/    # Filed returns by year
├── insurance/      # Non-health insurance (home, auto, umbrella)
└── planning/       # Budget, net worth tracking, financial goals

Use for: Account references, tax prep, financial planning docs.


30_property/

Physical assets you own.

30_property/
├── home/
│   ├── reference/  # Appliance specs, filter sizes, paint colors, manuals
│   ├── sops/       # Maintenance procedures (HVAC filter schedule, winterization)
│   └── records/    # Repairs done, inspections, improvements with dates
└── vehicles/
    ├── reference/  # VINs, specs, dealer contacts, tire sizes
    └── records/    # Service history, repairs

This domain uses type layers because homes and vehicles have clear reference material, procedures, and historical records.

Examples: - home/reference/hvac-system.md - home/sops/quarterly-maintenance.md - home/records/2024-roof-replacement.md - vehicles/reference/2021-honda-accord.md - vehicles/records/service-log.md


40_health/

Medical information, organized by person.

40_health/
├── tyler/
│   ├── reference/  # Providers, prescriptions, allergies, blood type
│   └── records/    # Visit summaries, lab results, imaging
├── family/         # Partner, children (can split into subfolders per person)
└── insurance/      # Health insurance policies, coverage details

Split by person because medical records are inherently personal. AI can scope queries: "What are Tyler's current prescriptions?" → looks in 40_health/tyler/reference/.


50_family/

Family logistics (not medical).

50_family/
├── childcare/      # Daycare info, babysitters, emergency contacts
├── education/      # Schools, 529 plans, educational resources
└── planning/       # Family goals, traditions, future planning

Use for: "What's the daycare's phone number?" "When does school start?"


60_creative/

Hobbies and creative projects.

60_creative/
├── ttrpg/          # Campaigns, characters, worldbuilding, session notes
├── writing/        # Fiction, blog drafts, creative writing
└── ideas/          # Loose capture, brainstorms, shower thoughts

No type layers here—creative work doesn't follow reference/sops/records patterns. Organize by project or medium.

Examples: - ttrpg/campaigns/curse-of-strahd/ - ttrpg/characters/wizard-build.md - writing/blog-drafts/ai-knowledge-graphs.md


70_learning/

Knowledge acquisition.

70_learning/
├── books/          # Reading notes, summaries
├── courses/        # Course materials, certifications
└── topics/         # Research organized by subject

Examples: - books/designing-data-intensive-applications.md - courses/aws-solutions-architect.md - topics/graph-databases.md


80_reference/

Cross-cutting reference that doesn't fit elsewhere.

80_reference/
├── travel/         # Loyalty program numbers, packing lists, visa info
├── contacts/       # Personal directory, gift ideas for people
└── how-to/         # General life procedures

This is the catch-all. Push things here last—if it fits in another domain, put it there.


90_records/

Immutable historical records.

90_records/
├── decisions/      # Personal ADRs (decision records)
└── journal/        # Dated entries

Key rule: Documents in 90_records/ are never edited after creation. They're historical artifacts.

Decision records follow the pattern: - decisions/001-buy-vs-rent.md - decisions/002-school-choice.md


_drafts/

Work in progress.

Excluded from: - MkDocs navigation - Site builds - AI indexing

Move files to their proper domain when ready.


Type Layers

Some domains benefit from organizing content by type:

Type Purpose Example
reference/ "What is this?" — specs, contacts, static info Filter sizes, VINs
sops/ "How do I?" — procedures, checklists Winterization steps
records/ "What happened?" — dated history 2024 roof repair

When to use type layers:

Domain Use Types? Why
Property ✅ Yes Homes have specs, procedures, and history
Health ✅ Partial Reference + records; rarely SOPs
Finance ✅ Partial Reference + records; no SOPs
Creative ❌ No Organize by project, not type
Learning ❌ No Organize by book/topic

Don't force types where they don't fit.


File Naming

Use kebab-case: - ✅ quarterly-hvac-maintenance.md - ❌ Quarterly HVAC Maintenance.md - ❌ quarterly_hvac_maintenance.md

Keep names 10–30 characters when practical.

No dates in filenames except in 90_records/: - ✅ 90_records/journal/2024-03-15-career-reflection.md - ❌ 20_finance/taxes/2024-03-15-tax-prep.md (use taxes/records/2024-federal.md)


Frontmatter

Optional but useful for richer AI context:

---
title: "Quarterly HVAC Maintenance"
type: SOP
status: active
created: 2024-01-15
updated: 2024-06-01
---

The path already encodes domain/system/type, so frontmatter adds metadata the path can't express: dates, status, tags.


Index Files

Every folder must have an index.md.

This file: - Serves as the landing page for that section - Describes what belongs in this folder - Links to key documents

Minimal example:

---
title: "Home Reference"
---

# Home Reference

Specs, manuals, and static information about the house.

## Contents

- [HVAC System](hvac-system.md)
- [Appliance Specs](appliances.md)
- [Paint Colors](paint-colors.md)

Quick Reference

I need to document... Put it in...
My home network setup 01_technology/network/
Passport expiration 10_identity/documents/
Investment strategy 20_finance/investing/
How to winterize pipes 30_property/home/sops/
Roof replacement details 30_property/home/records/
My prescriptions 40_health/tyler/reference/
Kid's school info 50_family/education/
D&D campaign notes 60_creative/ttrpg/
Book summary 70_learning/books/
Frequent flyer numbers 80_reference/travel/
Why I chose this house 90_records/decisions/
Half-finished draft _drafts/

For AI Ingestion

When your Go service scans this repo:

  1. Walk the file treefilepath.Walk("content", ...)
  2. Parse the path — Extract domain, system, type from directory structure
  3. Parse frontmatter — Get metadata (dates, status, tags)
  4. Index content — Store in your graph DB and vector DB

The structure means your AI can answer: - "What are my home maintenance procedures?" → Scan 30_property/home/sops/ - "What prescriptions am I on?" → Scan 40_health/tyler/reference/ - "Summarize my D&D campaign" → Scan 60_creative/ttrpg/

Path-as-context reduces the need for manual tagging.


Getting Started

# Clone or unzip the scaffold
cd personal-docs

# Set up Python environment
uv venv
source .venv/bin/activate
uv pip install mkdocs-material

# Run locally
mkdocs serve

Visit http://127.0.0.1:8000

Start with one domain. Document something real. Let the system prove itself before filling every folder.