What looks like five side projects on my Mac is really one R&D pipeline. Each personal app discovers a pattern that LeedAB needs to sell at scale — vault sovereignty, agent shape, dashboard sync, cognition. The first build is the cheap one. The second pays customers.
Same patterns. Same vault. Same Claude session hooks. The work doesn't fork — only the consumer does. Personal use validates; LeedAB monetises. The personal version is the proof that we can ship the customer version.
Obsidian vault, mina-pt coach, insta-agent, EOI Command Centre, Aria. Everything runs locally on Mina's Mac. Used daily — sleep, training, job hunt, NSW 491 deadline tracking, IG knowledge retrieval. The cost of a bug is "Mina's annoyed for an evening."
Per-business Obsidian brain, 31 specialist agents, COO orchestrator, Champion enablement, Solutions demos. Same architecture, different audience. The cost of a bug is "Tarheel cancels their contract." So we discover the bug on Track A first.
For each one: what it is, why I built it for myself, and the specific LeedAB capability it pre-validates. None of these were started "for LeedAB" — but every one of them retires a customer-side risk before we get there.
Obsidian vault + four-layer architecture (PARA + Permanent + Mina/-style + Wiki) + Claude Code session hooks that auto-write every conversation into _inbox/. The nervous system Mina lives inside daily.
Personal AI coach — training, recovery, nutrition, sleep, supps, accountability. Telegram bot, voice + photo intake, 23 specialist tools, mesocycles, Apple Health integration, multiple coaching personas. Live in Mina's pocket.
Local AI agent over Mina's 2,085 Instagram saves. Faster-whisper transcription, fastembed + sqlite-vec retrieval, Sonnet 4.6 agent with one tool. FastAPI dashboard with library/author/random/brief views. 100% local except the LLM call.
{answer, sources, queries} response. Customers will demand "where did that come from?" — already solved.search() directly. Cross-agent knowledge sharing pattern, validated.Personal NSW 491 / migration tracker, plus a daily Python digest that reads each app's SQLite/JSON state and writes one canonical block into _inbox/YYYY-MM-DD.md. Polling-based, idempotent, fail-soft. The vault sees every app.
Full cognitive architecture: 4 housekeeping systems (pruning, clearance, consolidation, decay) + 4 cognition systems (binding, weighting, reflection, prediction) + 3 memory types (episodic, semantic, procedural) + 2 attention layers. Built on top of existing manual hygiene commands.
drafts/ for diff/history.Per the strategic lens (principle 3), terminal LeedAB-via-OpenClaw is the wedge we sell. Voice-for-business returns "way later" once paying customers are stable. But personal Aria continues — because when the day comes that LeedAB needs voice, we don't want to start from a blank Cargo.toml.
Local voice-first agent. Tauri shell + ⌘Space hotkey + overlay window working. Mic capture (cpal) live. ElevenLabs TTS implemented. Claude API single-shot complete. SQLite tasks DB initialised. Roughly half of Sprint 1–2 of the original PRD has landed.
What's missing: STT (whisper-rs commented out, needs cmake), tool layer, persistent memory store. About 3 hours of work to get push-to-talk working end-to-end.
Why we keep it warm. The Tauri/Rust voice stack, the overlay UX, the local-first principle — these are the exact ingredients LeedAB will need when the wedge has earned the right to grow. Letting it rust to zero would mean rebuilding from scratch when the strategic moment arrives. Letting it run as a Mina hobby = keeps the muscle alive at zero company cost.
This is the whole game. Every gnarly edge-case we discover in Mina's vault is one we don't discover during Tarheel's onboarding call. The "personal projects" aren't a distraction from LeedAB — they're a paid subscription to early failure.
When something breaks on Mina's vault, the consequence is one bad evening and a memory file. We get to debug in zero-stakes mode and let the fix harden over weeks of daily use before it goes anywhere else.
~/Desktop/.envWhen something breaks at Tarheel, it's a Slack escalation, a refund conversation, a positioning hit. SMB customers don't tolerate "we'll fix it next sprint" — they tolerate "we discovered this last quarter on our own gear."
Every personal commit has a LeedAB shadow. The deck above is the audit. The five builds aren't a roadmap — they're the prototyping ground. By the time we onboard Tarheel, the patterns are already calloused on my own usage. That's the whole point of dogfooding before we have customers.