System architecture

Every layer, mapped end to end.

A private second brain, a self-querying knowledge graph, a command center, the automation that ties it together, and a public front door that turns conversations into leads.

0
Brain graph nodes
0
ClozeKB graph nodes
0
Custom skills
0
Automations running
The whole system
Six layers, top to bottom.

Private data stays on the machine. The shareable Brain vault sits on top of it, a knowledge graph makes it queryable, local models do the private heavy-lifting, the Command Center runs the day, and remote access reaches it all from anywhere.

Journalprivate · Claude denied · never git or graph
View detail →
Daily notes + feelings Health export (Apple Watch) Goals / Finances / Relationships
↓   local Ollama + human review only
Brain vaultshareable · Obsidian + git → private GitHub
View detail →
Projects / Sessions / Stack Resources: articles + podcasts Context (sanitized derivatives) TASKS.md AI/Skills
Knowledge graphgraphify · queryable by Claude
View detail →
Brain graph: 21,106 nodes brain-graph MCP ClozeKB graph + audit MCPs LLM wiki (auto-regen)
Local AIOllama · on-device · private
View detail →
8 local models (Ollama) ConnorGPT chat UI (Open WebUI) mcpo tool-bridge (shared MCP tools) workers, not agents
Command CenterFastAPI · localhost:7777 · PWA
View detail →
Dashboard reads TASKS.md task-scheduler One-click skill buttons 67 background automations
Remote accessreach it from anywhere
View detail →
Tailscale private mesh Cloudflare tunnel (n8n MCP only)
A different axis

The public front door

The six layers are the private, local stack. callconnor.com faces outward: an "Ask Connor" chatbot that talks to visitors, researches their company live, scores the conversation, and drops a qualified lead into the pipeline.

Ask Connor chatbot leads → Airtable feeds briefings + dashboard
View detail →
A pointed application

Account OS

The same file-based, transparent-scoring patterns aimed at one job: a Partner Success console for a brokerage's accounts. A transparent engine scores each one in context, then surfaces the one play that moves it.

file-based accounts transparent health engine one play per account
View detail →
The rule that makes it safe
The privacy boundary.

The single line that lets the whole vault be pushed to GitHub without worry: raw personal data never leaves the machine, and only a scrubbed, human-reviewed summary ever crosses into Brain.

Journal
raw personal data
Ollama + me
local summarize → review → accept
Brain / Context
thin, generic derivative

Finances and Relationships never cross. Ever. Health stays raw in the Journal; only a thin overview reaches Brain. The private side runs its own local-model advisors instead — nothing has to cross to be useful.

Under the hood
Two graphs, two schedulers.

Knowledge graphs

Same tool (graphify), two independent corpora, exposed to Claude as read-only MCP servers.

Brain (my second brain)21,106 nodes
ClozeKB (CRM help-center audit)2,458 nodes
Contradictions surfaced41
Query MCP servers3
Build modesupervised · Max

Automation

Two schedulers on purpose: macOS launchd for OS jobs, Claude's own scheduler for skill runs.

daily-article-synthesisdaily 09:08
weekly-review (cloud)Fri 16:00
personal-weekly-review (local)Fri 16:00
brain-wiki-regenon change
health-export-ingestdaily 09:45
The build
A fast start, then steady compounding.

The core landed in a single May sprint. Everything since is deliberate accretion: new systems added weekly, each verified before it ships. 405 commits in the Brain repo and counting.

MAY 15
Baseline audit + MAP.mdSkill stub refactorgraph output gitignored
MAY 16
Privacy architectureBrain Memory MCP + LLM wikiAuto-pushpersonal-weekly-review
MAY 17
Command Center usabilityCloze resource-center ingestDecoys removed
MAY 18
Health Auto ExportGraphify pipeline repairSelf-regenerating tasksCommand Center A–D
MAY 19–23
rabbit-hole-sweep skillClozeKB phase 2 + audit MCPsRouting protocol codifiedTailscale remote accessPodcast citations scraper
JUN
Account OS console + health engineEntity hub layerLive-CRM hydration seam (MCP)
JUL
Identity-resolution bake-off, measured against a live importerSecurity hardening after a real abuse incidentHealth-data rollup pipelineLocal-model consolidationJournal growth advisor, local-onlyThe Retreat: a dashboard for the private sideThis showcase, forked per audience
AUG
Finance rollup with no aggregatorHealth & fitness advisors recalibratedPublic-stat drift guard on this site's own numbersWarm-minimal redesign