Freewrite

A focused day on two parallel tracks: planning the SaaS web app stack and deepening the PKM system. Most of the morning went into understanding the Vuexy Next.js template more deeply — specifically how Claude Code can scan and document the entire codebase, and how to structure the monorepo. The afternoon circled back to PKM design, revisiting PARA and MOC concepts, and refining the daily summary automation that was built yesterday. Productive, architecturally-heavy day with clear next steps on both fronts.

Big Things Today

  • Finalised codebase documentation strategy for Vuexy — 12 claude-docs/ files + SKILL.md crown jewel
  • Confirmed monorepo structure: frontend/ (Next.js/Vuexy) + backend/ (Django/Ninja) + docker-compose.yml
  • Designed comprehensive CI/CD + Docker dev environment for the SaaS app
  • Revisited PARA, MOC, ACE hybrid concepts and PKM folder design

Conversations

Next.js template framework contents

Explored what Vuexy Next.js 15 contains (MUI v5, Tailwind, App Router, 10 pre-built apps, 6 layouts). Then designed the codebase documentation strategy: a comprehensive Claude Code prompt to produce 12 files under claude-docs/, culminating in a SKILL.md that serves as the persistent context anchor for every future build session. A second prompt was designed specifically for creating the SKILL.md from those docs. → See vuexy-nextjs-frontend | reference/vuexy-codebase-skill

Understanding PARA

Deep dive into PARA, Second Brain, MOCs, ACE hybrid folder structure, and what a 6-folder AI-maintained note system looks like. Discussed where meeting notes go, what Atlas/Calendar/Efforts mean, and compared Nick Milo’s + folder (inbox for fleeting notes) to the current design. Ended with a comprehensive plan to feed to Cowork for producing standardised notes. → See reference/pkm-para-ace-moc

CI/CD setup for Django and Next.js

Full CI/CD walkthrough for Django + Next.js: GitHub Actions workflow, auto-deploy to VPS via SSH or self-hosted runner, multi-container Docker deployment (backend + frontend + db + nginx). Covered: zero-downtime blue-green deploy, how dev Docker differs from prod (volume mounts vs baked code), coding on host with live sync into containers, and Claude Code managing everything from the host. → See reference/cicd-django-nextjs | reference/docker-dev-environment

Vuexy admin dashboard template overview

Confirmed Vuexy supports Next.js 15 (App Router). Received a 4-phase Claude Code prompt to transform Vuexy into a custom SaaS app. Made the monorepo vs polyrepo decision — monorepo wins for a single-team SaaS with shared context. Final structure: my-app/frontend/, my-app/backend/, docker-compose.yml, CLAUDE.md. → See vuexy-nextjs-frontend

Auto-generating daily chat summaries

Reviewed options for auto-summarising Claude.ai chats (Claude memory, browser extension, n8n + API, Cowork scheduled task). Confirmed Cowork is the right tool. Designed the exact Cowork task prompt: every weekday at 5 PM, scan claude.ai, summarise, save to desktop + send email. This is the workflow this note generator is built on. → See pkm-daily-summary

Open Tasks Surfaced

  • Set up monorepo folder locally (frontend/, backend/, docker-compose.yml, CLAUDE.md)
  • Download Vuexy Next.js and place in frontend/
  • Run Phase 1 codebase scan in Claude Code (paste the prompt)
  • Review SKILL.md output from Claude Code — verify Golden Rules are accurate
  • Set up self-hosted GitHub Actions runner on local server
  • Create deploy.sh on local server for multi-container deploy
  • Test blue-green deploy pattern for zero downtime

Insights Worth Developing


Appended by noon+1 PKM run — 2026-05-13

Conversations (afternoon batch)

Hugo Setup for Markdown Presentations

Explored Hugo as a PKM presentation layer. Key finding: Hugo does not natively support [[wiki-links]] and the maintainers have officially declared they won’t add it. Quartz (Hugo-based, pre-configured for PKM/digital gardens) handles wiki-links natively and supports graph view and backlinks — exactly what the vault needs. Confirmed Quartz can run in Docker via shommey/dockerized-quartz with auto-rebuild on note change and NGINX serving. → See quartz-pkm-setup

Comprehensive Note-taking System for Daily Life

Major planning session expanding the PKM beyond work. Designed a 5-domain system (work, think, body, family, money) with a full week of automation schedules: Morning Brief (7 AM, read-only Discord digest), Daily Generator (5 PM, existing — expand domains), Weekly Thinking Digest (Sun 8 PM, pattern-finding), Fortnightly Forgetting Detector (catch stale tasks + unmet commitments), Monthly Life Review (1st Monday), and Quarterly Compass Review (manual). Also designed a two-track news pipeline: Knowledge Extraction (technical → reference notes) and Trend Digest (big picture → thinking domain). Key sources: anthropic.com/news, openai.com/blog, GitHub release feeds, AI newsletters (The Rundown, Import AI, TLDR AI). → See pkm-daily-summary | pkm-para-ace-moc

Minimax and LiteLLM Cost Estimation for Development Team

Built cost estimate for 25 developers at medium daily usage running Minimax via LiteLLM. Minimax-Text-01 on the Yearly Medium plan: ~15–40/month. LiteLLM OSS is free; Enterprise adds SSO/audit logs for ~$50–100/month. Critical caveat: yearly token plans pre-purchase tokens at a discount — burn rate must match committed volume or tokens are wasted. → See minimax-litellm-cost

Hermes Orchestrating Claude Agents for Development Workflows

Designed architecture for Hermes as top-level orchestrator of Claude Code sub-agents using the Claude Agent SDK (Python). Hermes calls query() programmatically and routes through the existing LiteLLM proxy by setting ANTHROPIC_BASE_URL=http://localhost:4000. Four subagent types: refactor-agent, test-agent, ci-agent, reviewer (each with scoped tool permissions). Sessions preserve context across turns — agent reads in turn 1, edits in turn 2. The SDK locks to Claude model strings but LiteLLM transparently maps them to GLM/OpenRouter behind the scenes. → See claude-agent-sdk-hermes

Pioneering AI LLM Server Naming

Brainstormed 20 server name candidates for BOL’s first AI LLM server. Top picks: SYNAPSE (memorable, neural), EPOCH (marks a new era), AURORA (dawn of a new age), NEXUS-1 (first connection point), FIRSTLIGHT (the first ray of the AI era in the org). No follow-up tasks — decision pending.

Open Tasks Surfaced (afternoon)

  • Install Quartz Docker (shommey/dockerized-quartz) and mount D:\OneDrive\Personal\Notes
  • Add domain: field to PKM frontmatter and update daily generator to infer it
  • Add “Life Signals Today” section (4 lines) to daily journal template
  • Set up Morning Brief cron (Mon–Fri 7 AM → Discord)
  • Design Fortnightly Forgetting Detector cron prompt
  • Design Weekly Thinking Digest cron prompt
  • pip install claude-agent-sdk on phuriwajr-dev, set ANTHROPIC_BASE_URL=http://localhost:4000
  • Write Hermes tool wrapper around query() + define 4 subagent types
  • Decide on AI LLM server name (AURORA / SYNAPSE / EPOCH shortlist)
  • Confirm Minimax yearly plan tier vs. team burn rate before committing

Insights Worth Developing


Appended by evening PKM run — 2026-05-13

Conversations (evening batch)

Note Taking — General (PKM + SDLC Architecture)

Deep comparison of nb vs zk CLI tools. Key finding: nb is feature-rich (bookmarks, encryption, Git sync) but lacks graph/linking; zk is laser-focused on note linking and graph traversal using SQL-backed queries. Decision: use two separate zk notebooks — ~/notes/ for personal PKM and ~/projects/<project>/.zk/ for software docs. Claude Code reads/writes both with separate AGENTS.md per folder. spec-kit manages SDD lifecycle; zk indexes and enables gap-analysis queries for RTM and V-model traceability. Also confirmed: Claude Code with skills can write app spec and V-model documents (BR, FR, TS, Test Case) as linked markdown with backlinks. → See zk-note-tool | pkm-sdlc-templates

Note Taking — Hugo&Quartz (Docker Compose YAML Fix)

Hit a Docker Compose YAML error when setting up dockerized-quartz: environment section was mixing list and mapping formats. Fix: use pure mapping format (KEY: value) or pure list format (KEY=value), never mixed. Running docker-compose config validates the compose file without starting containers. Updated the Quartz Docker compose template accordingly. → See quartz-pkm-setup

Note Taking — For AI Native SD (SDLC Templates)

Effort note templates for Claude Code to use at task completion. Conclusion: effort notes should NOT follow evergreen format — they track lifecycle (current focus, open tasks, progress log). However, software requirements documents (BR, FR, TS, Test Case) need new frontmatter fields for V-model traceability: level, verified_by, verifies, status. Build plan: (1) extend frontmatter schema in skill-config.yaml, (2) create 4 core document templates, (3) build an update-sdlc skill (separate from update-status) that creates notes with correct frontmatter and auto-linking, and generates RTM/V-model maps via zk queries. → See pkm-sdlc-templates

Creating a Custom MCP for Email

Walked through building a local email MCP server using Python FastMCP + SMTP (Gmail App Password). The MCP exposes a send_email(to, subject, body) tool that Claude calls directly. Pattern: from mcp.server.fastmcp import FastMCP, define tools with @mcp.tool(), run as a stdio server. Register in claude_desktop_config.json or Cowork MCP settings. Key advantage over skills: Claude can dynamically decide to send email mid-task rather than requiring a scripted trigger. → See mcp-server-fastmcp

Multiple Projects with Different Claude Models

Per-project .claude/settings.json lets different projects use completely different backends on the same machine. Priority order: project-local .claude/settings.json wins over user-global ~/.claude/settings.json. Practical setup: Project A → LiteLLM/GLM proxy (ANTHROPIC_BASE_URL override), Project B → Opus (just model key, no URL override), Project C → claude.ai subscription (claude /login). Environment variables set in settings.json["env"] are scoped to that project only. → See claude-code-per-project-settings

Open Tasks Surfaced (evening)

  • Install zk on phuriwajr-dev and init ~/notes/.zk/config.toml
  • Init separate .zk/ notebook inside first software project directory
  • Fix Quartz docker-compose.yml env format (mapping, not list) and re-run
  • Extend skill-config.yaml: add level, verified_by, verifies, status fields
  • Create 4 SDLC document templates: BR, FR, TS, Test Case
  • Build update-sdlc skill for Claude Code
  • Build email MCP server (FastMCP + SMTP), register in Cowork MCP settings
  • Test email delivery from Cowork daily generator via the new email MCP
  • Create per-project .claude/settings.json for phuriwajr-dev projects

Insights Worth Developing