autonomous AI assistant built on OpenClaw, running 24/7 on a home compute cluster in San Francisco.
7 specialized agents. 5 messaging channels. 27 knowledge schemas. local inference. persistent memory. self-healing infrastructure.
this isn't a chatbot. it's an operating system for my life and businesses.
elias is my personal chief of staff. he triages incoming messages across WhatsApp, SMS, Telegram, Discord, and LINE, delegates to specialized agents, manages a short-term rental portfolio, monitors infrastructure, tracks finances, runs research, and writes code autonomously overnight.
the system processes thousands of messages per week, manages guest communications for 5 properties, monitors 8 machines, and coordinates a team of 4 assistants via Slack.
every agent owns one domain. elias orchestrates, delegates, and escalates.
| agent | role | model | where it runs |
|---|---|---|---|
| elias | orchestrator, personal chief of staff | GPT-5.4 Codex | Mac Mini (gateway) |
| cleo | guest relations, property operations | Gemini Flash | Hetzner VPS |
| atlas | fleet monitoring, infrastructure ops | Hermes3 70B (local) | Studio A |
| sterling | personal CFO, financial analysis | Palmyra-Fin 70B (local) | Studio A Docker |
| orion | research, competitive intelligence | Qwen3.5 35B (local) | Studio A Docker |
| codex | autonomous development, CI/CD | GPT-5.4 Codex | Studio A Docker |
| kai | team management via Slack | Qwen3.5 35B (local) | Hetzner VPS |
agents on VPS (cleo, kai) survive home fleet outages. guest comms and team management never go down.
every request falls through a 7-tier model cascade. fast and free first, expensive last.
GPT-5.4 Codex (primary)
-> GPT-5-mini
-> Gemini 3 Flash
-> Claude Sonnet 4.6
-> Gemini 3.1 Pro
-> Qwen3.5:35b local (free)
-> OpenRouter (fallback)
subagents use a separate cascade starting with local models to keep costs near zero for routine tasks.
elias classifies every incoming message and routes it to the right speed tier.
| tier | when | model | latency | cost |
|---|---|---|---|---|
| fast | greetings, status, memory lookups | Flash / Qwen 9B | <1s | ~free |
| deep | analysis, drafting, multi-tool | Sonnet 4.6 | 3-5s | ~$0.05 |
| analysis | research, forensics, critical decisions | Opus 4.6 | 5-10s | ~$0.50 |
| local | quick tech questions, config | Qwen3.5 35B | 2-3s | $0 |
| war room | collaborative multi-persona | 2-3 Sonnet instances | ~15s | ~$0.25 |
| council | strategic synthesis | 7 Sonnet instances | ~30s | ~$0.40 |
WhatsApp (Twilio API) ──→ relay :18796 ──→ gateway :18789 ──→ elias
SMS (Twilio) ──→ relay :18792 ──→ sms agent
LINE ──→ relay :18790 ──→ line-translate (Gemma3 27B)
Telegram ──→ direct API ──→ elias + cleo + kai
Discord (35 channels) ──→ direct API ──→ elias + all agents
Voice (Twilio) ──→ relay :18795 ──→ Deepgram STT → LLM → ElevenLabs TTS
Discord serves as the ops dashboard with 35 channels across 8 categories: personal, guests, finance, research, development, business, briefings, and approvals.
all machines wired through a 10G switch. no Wi-Fi. sub-millisecond LAN latency.
| machine | role | hardware | memory |
|---|---|---|---|
| Mac Mini | gateway, relays, cron | M4 | 16 GB |
| Studio A | agent runtime, fast local models | M4 Max | 128 GB |
| Studio B | heavy inference, model palace | M3 Ultra | 512 GB |
| Studio C | RDMA partner (TB5 link to B) | M3 Ultra | 512 GB |
| Spark A-D | GPU inference, fine-tuning | 4x NVIDIA GB10 | 512 GB total |
Studio B + C form a 1 TB unified memory pool over Thunderbolt 5 RDMA, capable of running 400B+ parameter models.
total: 1,280 GB Apple Silicon + 512 GB CUDA. ~28 TB storage.
- index (<=150 lines) read every session. structural overview of the entire system.
- topics (12 files) read on-demand. deep references on infrastructure, channels, agents, security, cron, guests, projects.
- changelog (monthly files) append-only audit trail. never read by agents, exists for forensics.
27 YAML schemas define a structured knowledge graph with ~4,800 objects:
guests, reservations, properties, transactions, payouts, reviews, competitors, market intel, devices, health records, calendar events, conversations, pricing data, cleaning schedules, and more.
dual search: Qdrant (semantic, Gemini Embedding 2) + LanceDB (backup). both maintained via cron.
cleo owns the entire guest lifecycle across 5 properties. she runs on a VPS so guest comms survive home outages.
- 6-touch automated cadence: booking confirmation, pre-arrival, check-in, mid-stay check, checkout, review request
- AI reply drafts: classify intent, debounce rapid messages, generate via Gemini Flash, queue for approval
- cleaner notifications: morning schedules, day-before alerts, weekly summaries
- smart lock management via Seam API: access codes, lock status, guest-specific codes
- Beds24 + PriceLabs integration for availability and dynamic pricing
atlas watches 8 machines and self-heals when things break.
- continuous monitoring: CPU, memory, disk, GPU utilization, model serving status
- VRAM tracking across the cluster with swap commands
- self-healing: 2 automatic repair attempts before escalating to me
- alert pipeline: green (Discord log) -> yellow (Discord + Telegram + auto-heal) -> red (Telegram + pause + wait for human)
- SSH access to every machine in the fleet
sterling runs on Palmyra-Fin 70B locally for financial data privacy.
- daily: net worth snapshot, expense anomaly detection, API cost tracking
- weekly: per-property P&L, portfolio performance, market digest, competitor pricing analysis
- monthly: full P&L generation, tax prep data, investment rebalancing recommendations
- investment analysis: Sharpe ratio, alpha, sector exposure, correlation matrices, stress scenarios
- data pipeline: Monarch pull (5:30 AM) -> ontology ingest -> Sterling reads (5:40 AM) -> briefing (5:55 AM) -> #sterling Discord
- 4 search tools: Exa (semantic), Tavily (quick), Firecrawl (deep extraction), Perplexity (conversational)
- 4 depth levels: scan (30s), brief (2 min), deep (10 min), report (30 min)
- scheduled research: AI ecosystem radar (every 6 hours), market news (daily), STR intel (weekly)
- 10 Playwright scrapers running daily for competitive short-term rental intelligence
- generate + review pattern: GPT-5.4 Codex generates, DeepSeek-R1 32B reviews, loop until clean
- overnight autonomous builds on feature branches
- creates branches, opens PRs, deploys to Vercel preview. never merges to main without approval
- codebase health checks and dependency audits
kai manages a team of 4 assistants via Slack with structured accountability.
- AM standups (9 AM local) + PM check-ins (5 PM local)
- LLM-powered hour estimation for task planning
- Asana integration: contextual task weaving, stall detection, smart assessment scoring
- weekly strategic review + monthly deep review
- per-workspace context isolation so assistant data stays separated
gateway websocket, LINE/Twilio/Stripe/Voice/Location webhook relays, canvas HTTP server, Syncthing for Obsidian vault sync, cleaner calendar service, arena LLM dashboard, Cloudflare tunnel.
- email triage (every 30 min): 3-tier archival with 55+ auto-archive rules
- guest messaging (every 15 min): Beds24 monitor + 6-touch cadence
- financial data (daily): Monarch pull, expense tracking, API cost rollup
- STR intelligence (daily): 10 Playwright scrapers for competitor pricing and availability
- morning digest (6 AM): parallel assembly of schedule, weather, alerts, finance, health, agent status -> Discord + Telegram
- model health checks, NFS self-healing mounts, config watchdog, memory sync
the main config file is root-owned, chmod 444, with macOS immutable flag. edits go through an unlock/edit/lock wrapper script. a watchdog re-locks every 2 minutes and auto-repairs known patches.
all system alerts flow through a classification and deduplication pipeline before dispatch. property alerts suppress during active guest stays. system alerts have a 6-hour cooldown with 24-hour escalation. no alert fatigue.
-
specialization beats generalization. one agent per domain with clear boundaries works better than one agent trying to do everything.
-
local inference changes the economics. running 35B-70B models on Apple Silicon means most routine tasks cost nothing. the API cascade is a safety net, not the default.
-
VPS for critical paths. anything that can't go down (guest comms, team management) runs on a VPS separate from the home cluster.
-
memory needs structure. free-form context windows aren't memory. a 3-layer system with schemas, indexes, and changelogs gives agents real continuity across sessions.
-
self-healing saves sleep. atlas auto-repairs most infrastructure issues. i get paged only when two automatic fixes fail.
-
config lockdown prevents disasters. after a few incidents with accidental config overwrites, the immutable flag + watchdog pattern has been bulletproof.
-
model cascades are essential. no single model is reliable enough for 24/7 operation. a 7-tier fallback chain means the system stays up even when APIs go down.
OpenClaw · TypeScript · Python · Next.js · FastAPI · PostgreSQL · Prisma · Qdrant · Playwright · Tailscale · Docker · Cloudflare · Twilio · ElevenLabs · Deepgram · Stripe · 1Password · Obsidian · Apple Silicon · NVIDIA
i'm ben. hardware TPM at Apple and Meta for a decade, now building AI systems that operate in the physical world. more at github.com/benikigai.