Personal AI Ecosystem
A personal AI ecosystem where every interaction feeds a shared knowledge base, creating a self-improving context loop. All code generated using Claude Code (Opus).
System Components
Geoffrey handles daily assistance, Matthew handles reflection, and Open Brain is the persistent memory layer they share.
Personal AI Assistant — Modelled after Alfred
A personal AI assistant available across every major channel. Handles web search, calendar, email drafts, and routes calls to other AI assistants.
Reflection Coach AI
Triggers end-of-day reflection calls via geofencing. Nordic-style directness with a structured two-step response pattern.
Personal Knowledge System
Full CRUD personal knowledge store with hybrid retrieval. Extended from Nate B. Jones' open-source concept.
Architecture
Contact channels flow through n8n into MCP servers, which interface with Supabase Postgres + pgvector.
| Tool | Purpose |
|---|---|
capture_thought | Save a new thought |
search_thoughts | Semantic + tag search |
list_thoughts | Chronological listing |
edit_thought | Update existing thought |
delete_thought | Remove a thought |
thought_stats | Usage statistics |
| Tool | Purpose |
|---|---|
realtime_search | Brave Answers API with security validation |
| Endpoint | Purpose |
|---|---|
POST /ingest | Slack webhook for capturing thoughts |
Supabase Postgres + pgvector
thoughts table
iduuidcontenttextembeddingvector(1536)metadatajsonbcreated_attimestamptzRPC Function
match_thoughtsrpcLLM Usage — via OpenRouter
| Task | Model |
|---|---|
| Embeddings | openai/text-embedding-3-small |
| Metadata extraction | openai/gpt-4o-mini |
| Thought splitting | openai/gpt-4o-mini |
| Tag extraction for search | openai/gpt-4o-mini |
The Flywheel
Each AI interaction feeds the knowledge base. The more context Open Brain accumulates, the smarter every AI response becomes.
Every interaction adds context. Every AI tool gets smarter.
Infrastructure
Designed for near-zero cost. Free tiers cover everything except a single VPS.
| Technology | Role |
|---|---|
| Supabase | Postgres + pgvector + Edge Functions hosting MCP servers |
| n8n | Central workflow automation — channel routing, API orchestration |
| Twilio | SMS routing + phone call routing to Vapi.ai |
| Vapi.ai | Realtime voice — STT/TTS for phone and web calls |
| OpenRouter | LLM routing — abstraction layer for model selection |
| Telegram Bot API | Primary chat interface |
| Brave Search API | Real-time web search via custom MCP server |
| Claude Code (Opus) | All development — no manual code written |
| Vercel | Next.js web interface (free tier) |
| Hetzner VPS | Docker hosting for self-hosted n8n (~$5/month) |
| Cloudflare | DNS + DDoS protection |
| GitHub | Source code repository |
Free tiers cover Supabase, Vercel, Cloudflare, and GitHub. The only paid component is a Hetzner VPS for Docker-hosted n8n.
Domain Structure
| Subdomain | Target | Cloudflare |
|---|---|---|
| n8n.digitomnia.com | Hetzner VPS | Proxied (DDoS protection) |
| mcp.digitomnia.com | Supabase Edge Functions | DNS only |
| dash.digitomnia.com | Vercel | DNS only |
Capture Interfaces
Open Brain accepts thoughts from any channel — hands-free, chat, voice, or developer tooling.
iOS Shortcuts integration for hands-free capture
Via Geoffrey — the primary chat interface
Via Matthew's daily reflection calls
Next.js dashboard with voice + chat
Via ingest-thought webhook
Any MCP-compatible AI (Claude, ChatGPT, etc.)