Skip to content
🚧 Early alpha — building the foundation. See the roadmap →

Why Obsidian, why files

Created Updated

Crosswalker is built on files and folders, not a proprietary database. Obsidian is the chosen platform because it IS files — markdown on your filesystem, owned by you.

Building this on Notion, Airtable, Coda, or any SaaS database would be:

  • Too opinionated — their schema is their schema. You can’t version-control a Notion database with git. You can’t diff two versions of an Airtable base. You can’t run a CI/CD pipeline against a Coda doc.
  • Locked in — your compliance data lives in their servers, their format, their export limitations. When the vendor changes their API or pricing, your workflow breaks.
  • Not universal — everyone has a filesystem. Not everyone has Notion. Files work on Linux, Windows, macOS, air-gapped networks, classified environments.
PropertyFilesDatabase
Version controlGit nativelyRequires export/API
Diff between versionsgit diffCustom tooling
Offline accessAlwaysDepends on vendor
CI/CD integrationRead files directlyAPI calls needed
Air-gapped environmentsWorksUsually doesn’t
OwnershipYou own the bytesVendor owns the platform
PortabilityCopy the folderExport + re-import
Tool-agnosticAny editor, any OSVendor-specific UI

Obsidian is chosen over other markdown editors because:

  1. Plugin ecosystem — Crosswalker can ship as a community plugin with UI, commands, settings
  2. WikiLinks — native bidirectional linking between notes, which IS the knowledge graph
  3. Graph view — built-in visualization of the link structure
  4. Properties API — native YAML frontmatter support with type system
  5. Bases — native tabular views for compliance dashboards (though limited to flat queries)
  6. Community — large, active community of knowledge workers and developers
  7. Local-first — no server dependency, works offline, syncs optionally
  8. Extensible — Excalidraw, Dataview, Templater, and hundreds of plugins that complement Crosswalker

The layered architecture keeps Obsidian at the integration layer, not the core:

  • Spec + Library → no Obsidian dependency, pure data processing on files
  • Plugin wrapper → Obsidian-specific (vault API, modals, commands, settings)
  • CLI wrapper → Node.js, no Obsidian required at all

If someone wanted to build Crosswalker for VS Code, Logseq, or a web app — the spec and library layers work unchanged. Only the integration layer changes.

Files give us portability and ownership. In exchange, we accept:

These trade-offs are the right ones for compliance knowledge management, where data ownership and auditability matter more than real-time collaboration.