The problem
Building AI-powered products solo means orchestrating dozens of moving parts across research, design, code, deploy, QA, content, and marketing — every day. The existing SaaS multi-agent platforms lock you in, leak your data, or stack subscriptions. I wanted a self-hosted agency I owned end-to-end: cheap to run, fork-able, fully customisable. One Telegram message in, a shipped product out.
Approach
- Three-layer hierarchy on a $10/month Hostinger KVM2 VPS (Docker). Layer 1: Jarvis the COO. Layer 2: agency CEOs — Shuri (Dev), Maya (Creative), Natasha (LinkedIn). Layer 3: 15 specialised sub-agents.
- Jarvis runs a ReAct loop with persistent context in SOUL.md (identity / behaviour), USER.md (preferences), and MEMORY.md (running state). The single point of contact is a Telegram Bot — you message Jarvis, Jarvis routes.
- Routine routing decisions run on Groq's free tier (cheap + fast). Heavier models are invoked only on explicit request. Image and video agents always require user confirmation before firing.
- Dev Agency (Shuri): Coder uses GLM-5 via Claude Code for implementation; UI uses Gemini 2.5 Flash + Stitch MCP for Apple / Vercel / Stripe-grade design; Research uses a Tavily → Gemini → web_fetch fallback chain; Git, Deploy (Vercel CLI), and QA (build / TypeScript / secrets / .gitignore / package.json checks) are rule-based.
- Creative Agency (Maya): hero images, short-form video, voiceover. Brand-check filter sits at the output stage — every visual passes the brand style check before shipping.
- LinkedIn Agency (Natasha): a fully isolated pipeline — Research → Content → PDF Carousel → Firebase → Auto-post. Carousels render via headless Chromium at 1080×1350 with hand-written light/dark templates, then ship straight to LinkedIn.
- OpenClaw Skills — a CLI-loaded skill library — keeps every agent focused, structured, and on-brand across runs. No prompt drift between sessions.
- Shared state in Firebase, not prompt-passing. Agents read and write to the same store — the moment that became true, hallucinations dropped sharply.
Architecture
Diagram · loads on scroll
Outcome
- 15 agents across 3 agencies — fully autonomous after task input.
- Running 24/7 on a $10/month Hostinger KVM2 VPS, zero downtime since launch.
- Replaces what would otherwise be a 5–7 person team for a side project.
- No SaaS subscriptions stacking up, no vendor lock-in, no data leaving the box. Fully customisable agency structure — fork it, rewire it, add your own CEOs.
Lessons learned
- Specialisation beats generalisation. Narrow-scope agents with clear boundaries fail less than one big "do everything" model.
- Shared state > prompt-passing. The moment agents share a store, hallucinations drop sharply.
- One COO > round-robin routing. A single agent deciding who-does-what prevents infinite loops between peer agents.
- Brand-check is mandatory — Maya (Creative) has a brand-checker built in so every output passes a visual style filter before shipping.
- Persistent context files (SOUL / USER / MEMORY) beat re-prompting every turn. The agent stays itself across days, not just turns.
On LinkedIn