Tech Stack
The data structure IS the protocol.
Tools are swappable. The conventions are what make it portable.
Tool Agnostic by Design
Markdown with specific frontmatter conventions = portable. Obsidian is just one interface. Someone could use VS Code, iA Writer, or build their own tool—as long as they follow the data conventions.
The protocol lives in the Data Layer. Everything else is interchangeable.
Architecture
Click a layer to see details
Current Implementation
| Layer | Current Choice | Why | Status |
|---|---|---|---|
| Interface | Site-based editing | Metadata integrity, validation | Working |
| Processing | Python + Matrix | Async, self-hosted, extensible | Partial |
| Data | Markdown + YAML | Plain text, git, portable | Working |
| Publication | Astro + Supabase | Fast, flexible, React islands | Working |
| Voice | HA + faster-whisper | Local, private, ADHD-friendly | Planned |
| Network | Local-only (Phase 1) | Federation in Phase 2+ | Planned |
Why Site-Based Editing?
The Problem with Direct Vault Editing
- • Easy to corrupt frontmatter metadata
- • No validation before save
- • Sync conflicts with multiple interfaces
- • Harder to ensure required fields exist
Site Interface Benefits
- • Validates data before writing
- • Ensures metadata integrity
- • Provides structured forms for complex content
- • Obsidian still available for viewing/backup
The vault is storage. The site is the primary interface. This prevents the "edit in wrong place, break the metadata" problem.
Data Format
Project File
---
id: proj_2024_thompson_kitchen
title: Thompson Kitchen Remodel
status: complete
created: 2024-11-15T10:30:00Z
updated: 2024-12-20T14:45:00Z
creator: zac_zabauhaus
skills:
- finish-carpentry
- problem-solving
- client-communication
witnesses:
- name: Marcus Chen
relation: subcontractor
confirmed: true
---
# Thompson Kitchen Remodel
Client wanted modern farmhouse... Skill File
---
id: skill_finish_carpentry
name: Finish Carpentry
category: fabrication
authority_level: demonstrated
last_practiced: 2024-12-20
witnesses:
- count: 12
recent: 5
projects:
- proj_2024_thompson_kitchen
- proj_2024_riverside_cabinets
---
# Finish Carpentry
Cabinet installation, trim work... YAML frontmatter provides structured metadata. Markdown body allows freeform content. This format is portable to any tool that can parse these conventions.
User Journey
From discovery to network participation. Expand each phase to see current status.
Decision
Is this for me?
Setup
Get your workspace running
Daily Use
Capture while working
Curation
Move to portfolio when ready
Publication
Your work goes live
Network
Connect with others
Workspace Structure
Your data organized in two spaces: private workshop, public portfolio.
your-workspace/
├── workshop/ # Private - messy, yours
│ ├── projects/ # Work in progress
│ │ └── thompson-kitchen/
│ │ ├── notes.md
│ │ ├── voice-notes/
│ │ └── references/
│ ├── ideas/ # Half-formed thoughts
│ └── scratch/ # Temporary stuff
│
├── portfolio/ # Public - curated, deliberate
│ ├── projects/ # Finished work
│ │ └── thompson-kitchen.md
│ ├── skills/ # Demonstrated capabilities
│ └── about.md # Your story
│
└── .collusion/ # System config
├── config.yaml # Your preferences
├── witnesses.yaml # Pending confirmations
└── sync-log.json # Sync history Workshop
Never published. Voice notes, failed attempts, references. The process, not the output.
Portfolio
Published when ready. Curated projects, demonstrated skills. Your public track record.
Nothing moves from workshop to portfolio without your explicit action.
See It Working
Zabauhaus runs on this stack. Real projects, real skills, real track record.