Gap Analysis Method
The Tier 1/Tier 2 gap analysis framework you used: run your own labs through the baseline library, flag any marker without a deep dive document. Tier 1 = abnormal on your labs (immediate clinical value). Tier 2 = within range but needed for complete coverage.
---
gap_analysis_method
2026-03-19
What Was Built
Over three sessions, you constructed a **35-document baseline reference library** — all files are client-agnostic, meaning they contain zero client-specific data and can be applied universally across any client case.
**MWP Markers (3):** Indican, Bile Acids, 8-OHdG
**MBA Markers (4):** Zonulin, Histamine, DAO, Histamine:DAO Ratio
**SHP Markers (9):** Testosterone, Estradiol, Progesterone, P:E2 Ratio, DHEA-S, Cortisol Sum, Cortisol Pattern, Cortisol:DHEA Ratio, plus pattern analysis
**GI-MAP Markers (13):** H. pylori, Elastase-1, Beta-Glucuronidase, SIgA Fecal, Steatocrit, Calprotectin, Eosinophil Activation, Anti-Gliadin IgA, Faecalibacterium prausnitzii, Bacteroidetes phylum, Staphylococcus aureus, Streptococcus spp. *(last 4 added in session 2 based on personal lab gap analysis)*
**Quick Reference Cheat Sheets (4):** One per panel (MWP, MBA, SHP, GI-MAP)
**Session Summary Document (1):** Comprehensive handoff doc created at end of session 1
what_was_built
2026-03-19
PRACTICE METHODOLOGY
**Core Framework:** D.R.E.S.S. — Diet, Rest, Exercise, Stress Reduction, Supplementation. Every intervention protocol flows through this lens.
**Four Primary Lab Panels:**
- **MWP** (Metabolic Wellness Profile) — metabolic function, oxidative stress
- **MBA** (Mucosal Barrier Assessment) — gut permeability, histamine/DAO
- **SHP** (Salivary Hormone Profile) — HPA axis, sex hormones, cortisol patterns
- **GI-MAP** — stool-based microbiome, digestive function, pathogens
**Clinical Session Type:** R&R (Results & Recommendations) — structured sessions where lab results are reviewed with clients and protocols are set
**Intervention Sequencing Philosophy:** Typically builds vital reserve first, addresses HPA axis before gut work. Order is context-dependent but follows a cascade/pattern hypothesis.
**Document Structure Standard (all baseline deep dives follow this):**
1. Scientific explanation
2. Reference ranges (FDN Preferred AND lab ranges — both matter)
3. Clinical interpretation by value range
4. Common symptoms
5. Root causes
6. Phased intervention protocols with timelines
7. Hidden Area correlations via D.R.E.S.S.
8. Clinical pearls
---
practice_methodology
2026-03-19
WHO YOU ARE
Kyle McDonough, FDN-P (Functional Diagnostic Nutrition Practitioner). Operating under the brand **Sovereign Self Health**. You built this practice around the premise that chronic symptoms have hidden metabolic root causes — and that standardized lab interpretation done right produces consistent, high-quality client outcomes regardless of who's in the chair.
You are also a client of your own practice. Your personal labs (GI-MAP, MWP, MBA, SHP) have been analyzed and are stored in this project.
---
who_you_are
2026-03-19
Open Brain Seed: Kyle McDonough — FDN Practice
**Last Updated:** March 2026
**Source:** Project chat synthesis (3 sessions)
**Status:** Active
---
open_brain_seed:_kyle_mcdonough_—_fdn_practice
2026-03-19
Good — I have all three chats from this project. Here's your Open Brain seed document:
---
—
2026-03-19
Flags: Incomplete or Inferred
**Incomplete / not yet decided in the docs:**
2. **Ghost FTR theme** — SSH site has a custom "sovereign" theme. No mention of whether FTR gets the same theme, a different one, or starts from a Ghost default. Inferred it'll be a separate build session.
3. **Streaming setup** — described as "Phase 2" with OBS + Restream.io. Restream is a $16/month external service, which sits in mild tension with the sovereignty filter. The docs flag this as acceptable for now but don't resolve the tension explicitly.
4. **Mailgun long-term** — flagged as "weakest sovereignty link" with "revisit when list grows." No threshold or timeline defined for when to switch, or what to switch to (Postal mentioned as future option but not committed).
5. **Monetization timeline for FTR** — described as "monetize later" with no criteria for when "later" is. Paid tier for SSH is more defined ($15–25/month target).
6. **Open Brain itself** — this seed document is the first artifact for it. No architecture decision documented yet for what vector DB, what embedding model, or what retrieval interface Kyle is building toward. _This is inferred intent, not documented._
**Inferred (not stated explicitly):**
- The "Buddha parallel" framing (old Kyle sunsetting, new infrastructure) suggests deliberate identity separation between old digital footprint and new platforms — not hiding, but not carrying the old baggage forward either. The content philosophy reflects this but it's more subtext than stated policy.
- Ghost FTR instance will likely mirror the SSH build pattern (Docker on Bastion, Caddy reverse proxy, Mailgun SMTP) given the existing infrastructure. Not stated, but would be consistent with everything else.
---
_End of seed document. Recommend reviewing the "Flags" section and resolving open decisions before treating this as stable context._
flags:_incomplete_or_inferred
2026-03-19
Work & Communication Preferences
- **Step-by-step only** — one instruction at a time, wait for confirmation before proceeding. No walls of instructions. Kyle troubleshoots as he goes; combined steps get messy when problems arise.
- Methodical, iterative troubleshooting over front-loaded comprehensive instructions
- Comfortable with CLI, Docker, self-hosted tooling; appreciates GUI alternatives (Cockpit, Dolphin SFTP) for file management
- Uses tmux for long-running processes
- Documents everything in markdown (Silverbullet as primary knowledge base; maintains `bastion-context.md` runbook)
- **Informal communication style**
- Tends to have a clear solution in mind once options are narrowed — doesn't over-research past the decision point
- Content philosophy: factual, well-researched, documented — not speculative; "draw your own conclusions" framing for sensitive topics
---
work_&_communication_preferences
2026-03-19
Active Work Streams
|Task|Status|Notes|
|---|---|---|
|Ghost SSH site|Live at sovereignselfhealth.com|All pages complete: homepage, about, work with me, articles, welcome email, nav|
|Ghost FTR site|Not started|fromtherubble.pro parked; next build session|
|Music library|In progress|~125/1,225 Spotify tracks downloaded before SSH-FTR freeze; ~1,100 remaining; spotDL via Distrobox on SSH-FTR|
|Music tagging|In progress|~141 "Unknown Artist" files; Picard (acoustic fingerprint) first, custom filename parser for remainder|
|KaraKeep bookmarks|In progress|~2,575 imported, crawler processing; org structure built around SSH/FTR/Operations|
|Minisforum UM790 Pro|Planned|Barebones purchase pending; full rebuild runbook exists|
|FTR content|Planned|Podcast launch (YouTube, Rumble, Kick), weekly newsletter, three content buckets|
|SSH content|Pre-launch|"Foundational Labs" series to publish before full production launch|
---
active_work_streams
2026-03-19
Known Technical Gotchas (Save Future Pain)
- **Caddy + Docker + Cockpit:** use `172.17.0.1:9090`, not `localhost` — Caddy runs inside Docker
- **Caddy autoplay:** default `Permissions-Policy` header blocks browser audio; requires explicit `header Permissions-Policy "autoplay=*"` in Caddyfile
- **Bazzite immutable OS:** can't install Python packages normally; use Distrobox containers for persistent pip/system package environments
- **spotDL API patch (Feb 2026):** Spotify removed `genres`, `label`, `popularity` fields from Developer API; spotDL source requires manual patching to handle missing fields
- **rsync on exFAT:** requires `--no-links --no-perms --no-owner --no-group`; standard `-a` fails
- **Docker volume backups:** use temporary Alpine containers (`docker run --rm -v volume:/source:ro`), not direct file copying
- **Database backups:** use container-native dump commands (`mysqldump`, `pg_dump`), not raw DB file copying
- **exFAT fstab mounting:** requires `uid=1000,gid=1000,umask=0022` + `systemctl daemon-reload`
- **Filen CLI auth:** use unencrypted local storage with risk confirmation when secure keychain fails
---
known_technical_gotchas_(save_future_pain)
2026-03-19
Key Technical Decisions (Made, Not Open)
|Decision|Choice|Reason|
|---|---|---|
|CMS|Ghost, self-hosted|Sovereignty, 0% revenue cut, built-in email + members|
|VPS hosting|1984 Hosting (Iceland)|Sovereignty alignment, Orwell-named, crypto payments|
|DNS|Cloudflare (free tier)|DDoS protection, hides origin IP via orange cloud proxy|
|Domain registrar|Porkbun|All domains here|
|Email delivery|Mailgun (SMTP port 465)|Ghost-native, free to 1k/month; weakest sovereignty link, revisit when list grows|
|Video hosting/CDN|Bunny.net|European (Netherlands), ~$0.01/GB, privacy-friendly|
|Reverse proxy|Caddy|DNS challenge SSL via Porkbun API, Docker-native|
|Mesh network|Tailscale|All machines connected|
|Passwords|Vaultwarden (self-hosted)|vault.cyclesage.life; Heather also uses|
|Photos|Immich (self-hosted)|Heather also uses|
|Second brain|Silverbullet|brain.cyclesage.life; everything documented in markdown|
|Bookmarks|KaraKeep|Ollama AI tagging + Meilisearch + headless Chrome; ~2,575 bookmarks imported|
|Music player|Navidrome + Feishin (desktop), Amperfy (iPhone)|Spotify-like self-hosted|
|LLM inference|Ollama on SSH-FTR|CPU/iGPU via ROCm; NPU specs irrelevant for this use case|
|Ghost SMTP port|465 (SSL) not 587|More reliable, avoids STARTTLS SSL handshake errors with Mailgun|
Content Tone Model
- Normie health coach: "5 tips for better sleep 😴"
- Kyle: "You can't biohack your way out of a sick society. Yes, blackout curtains matter. But if you're lying awake at 2am sensing something is deeply wrong with the world, that's not a sleep hygiene problem. That's a sovereignty problem."
---
content_tone_model
2026-03-19
Positioning Line
**"Test, Don't Guess."** — methodology, differentiator, and personality in three words.
positioning_line
2026-03-19
FDN — Functional Diagnostic Nutrition
Proactive, data-driven model. Finds dysfunction before it becomes disease. Differentiator from conventional integrative care: addresses all five DRESS pillars simultaneously, not symptom-chasing with natural tools.
**DRESS Protocol:**
- **D** — Diet: individualized to your biology
- **R** — Rest: circadian rhythm, sleep architecture
- **E** — Exercise: builds energy, doesn't drain it; consistency over intensity
- **S** — Stress Reduction: hidden internal stressors (pathogens, toxins, inflammation)
- **S** — Supplementation: targeted to your lab data, not trends
**Core differentiator phrase:** _"Standard labs measure whether you're sick enough to treat. Functional labs measure whether you're healthy enough to thrive. The gap between those questions is where most people live for years."_
fdn_—_functional_diagnostic_nutrition
2026-03-19
Platform Philosophy
- Ghost (self-hosted) = home, own everything
- All other platforms (YouTube, Rumble, Substack Notes, Kick) = discovery pipes only, never home
- Email list = owned audience, primary relationship
- Every piece of content on every platform has one job: **get them to the email list**
**Not using:** Substack (a16z funded, 10% revenue cut, censorship trajectory), hosted Ghost (deplatforming risk), WordPress (bloat), Instagram, Facebook, TikTok.
---
platform_philosophy
2026-03-19
Two-Site Strategy
**Site 1: Sovereign Self Health** (`sovereignselfhealth.com`)
- Health coaching business, FDN methodology, metabolic health with sovereignty flavor
- Audience: people questioning medical orthodoxy, sovereignty-minded, preppers, veterans
- Revenue function: primary — client acquisition, paid memberships, health programs
- Tone: professional but unfiltered; connects health to systemic issues
- Filter: must have a clear health or health-sovereignty angle
**Site 2: From The Rubble** (`fromtherubble.pro`)
- Everything else from the 300-topic backlog
- Audience: awakened, pattern-recognition intact, rabbit hole willing
- Revenue function: secondary, monetize later
- Tone: fully unfiltered Kyle — no guardrails
- Filter: none; if Kyle finds it interesting, it goes here
- Content buckets: The System, The Self, The Record
**Cross-pollination rule:** health or sovereignty angle → Site 1; pure philosophy/geopolitics/culture → Site 2; cross-link when topics overlap.
two-site_strategy
2026-03-19
Ollama (SSH-FTR)
API endpoint from any Tailscale device: `http://100.118.2.103:11434`
|Model|Size|Use|
|---|---|---|
|llama3.2:3b|2.0GB|General workhorse, fast Q&A|
|phi3:mini|2.2GB|Structured reasoning, analysis|
|mistral:7b|4.4GB|Long-form writing, content drafting|
|nomic-embed-text|274MB|RAG embeddings for AnythingLLM|
Mode-switching aliases on SSH-FTR: `ai-mode` / `game-mode`
---