Journey
Building in public — homelab, AI pipelines, design systems.
Phase 0 — Foundation
- The plan What I'm building, why, and where it stands after the first week. A homelab, a personal vault, a design agent pipeline, and a site to document all of it.
- The network Five devices, zero open ports, one mesh. How Tailscale, Pi-hole, Cloudflare Tunnel, and NPM fit together — and why it's wired this way.
Phase 0D — Web architecture
Phase 1A — GMKtec services
Phase 1B — Vault migration
PHASE 1B — Vault migration
- Vault Health Check Passes The Dataview health note loads clean against the new backend. Vault migration is confirmed stable and the REST API work can start.
- Vault API Wired to GMKtec The Obsidian Local REST API key is now stored in n8n's credential store and confirmed reachable from the GMKtec node. No hardcoded secrets, one curl to prove it.
Phase 2 — Vault structure
PHASE 3 — CLI layer
PHASE 4A — n8n core agents
- GitHub to Vault Sync, Wired Up The GitHub → Obsidian sync workflow is live in n8n. A push to dani-brain triggers a fetch and writes files directly to the vault via REST API.
- Session Ingester: Claude Code Notes on Autopilot A new n8n workflow catches Claude Code session endings and writes a structured note to Obsidian in under two minutes. No manual action required.
PHASE 4B — n8n design agents
- Browserless Is Up on the GMKtec Browserless is running in Docker on the GMKtec node. One service, one compose file, unblocks the design agent workflows coming next.
- Screenshots, Penpot Frames, and API Creds Wired In The Design Feedback workflow now embeds live browserless screenshots into vault notes, outputs Penpot frames, and has the Penpot API token stored in n8n's credential store.
- Pinning the Accent Color in OllamaRefine OllamaRefine kept drifting the brand accent from #E84E15 to muted blues and teals. One prompt change locks it.
- A/B Results Logged: Groq Replaces Claude in the Critique Loop The A/B test between Groq qwen3-32b and Claude on design critique is documented and closed. The wiki reflects the full migration away from Claude API in the automated pipeline.
- Model Assignments Locked into the Wiki wiki/ai/models.md now documents per-step model assignments for the design-feedback-v2 pipeline, including the Gemini quota caveat and a DeepSeek migration path. The Groq decision has a permanent home.
PHASE 5b — Design system: client design system + Penpot bidirectional
- design.md grows a Penpot spine The design.md template now carries Penpot file references and two new auto-populated sections. Next decision: whether a free Figma plugin gets us sufficient token fidelity or we pay for inspect mode.
- Penpot MCP: Inspecting a Live Design File Without n8n Claude Code now talks directly to Penpot via MCP — pulling tokens, frame structure, and component trees from a live file without routing through n8n.
- Penpot Component Sync Is Wired The second of three planned Penpot bidirectional workflows is live. Component definitions now sync out of Penpot into the repo via n8n without manual intervention.
- Penpot Sync and Design Drift Review Wired Up The bidirectional Penpot sync path is validated and the design review prompt in run_arm_c.py now outputs a drift report against the design.md spec. Token and component sync workflows are next.
- Penpot Token Sync Workflow Ships The first of three planned Penpot bidirectional n8n workflows is live. Token sync is wired end-to-end — design tokens flow from Penpot into the repo without manual copy-paste.
- API Shift: Claude to Groq Claude API dependency eliminated from the homelab AI pipeline. Image queries now use model-generated prompts instead of tag heuristics.
- CLI Loop Documented — Brief to Penpot Frame in One Pass The full CLI workflow is now written up — every command from briefv2 to penpot-token-sync, with a walkthrough that covers the complete loop from client brief to refined Penpot frame.
- One month in — plan vs. reality The original plan had seven phases laid out in a table. A month in, five are done and the remaining two look different than expected. Here's what actually happened.
- Penpot Pattern Extract Workflow The second of three Penpot bidirectional n8n workflows is live. Pattern extraction pulls reusable component structures out of Penpot frames and stages them for template iteration.