← Back to showcase

Showcase / Multi-Agent System

Kiki & the Agent Team

I didn't just adopt AI tools. I designed and deployed a personal AI engineering team: six named agents across career, QA, work, infrastructure, and portfolio work, all routing through a chief-of-staff agent and a shared file-based brain on my home server, with a template slot ready for the next domain.

Live and in daily use Self-hosted on atlas Built phase by phase

What it is

An org chart, not a pile of prompts

Most people use AI as a single assistant they re-explain themselves to every session. I designed mine as a team. Each major domain has a dedicated agent that knows its files, codebase, or career context. A chief-of-staff agent, Kiki, coordinates them and owns the shared memory. I talk to one agent; the work routes to the right specialist and the context survives across sessions, devices, and even a change of model. It runs entirely on my own hardware with no paid hosting for the agent layer.

The team

One chief of staff, five specialists

Each specialist lives close to the domain it owns and follows a shared convention file so the agents interoperate. Kiki is the hub; the rest are spokes.

Kiki avatar
Kiki
Chief of staff. Owns the shared brain, runs daily intake, routes work to the team.
Hub
Juno avatar
Juno
Owns crown-jewels, the work microservices monorepo.
Spoke
Argus avatar
Argus
QA and test engineering under Juno: test strategy, automated tests, edge cases, and quality gates.
Juno QA
Jarvis avatar
Jarvis
Owns the atlas homelab infrastructure: docker, ansible, backups.
Spoke
Alfred avatar
Alfred
Owns this portfolio site: content, layout, and deploys.
Spoke
Plato avatar
Plato
Owns erp-web-form, the Salesforce enterprise platform.
Spoke
Open agent slot avatar
Next spoke
An open slot: any new work or life domain drops in from the shared template, links back to Kiki, and inherits the same conventions.
Template

Every new agent is created from a shared template so it links back to Kiki and follows the same conventions, which means the team grows without re-architecting.

🔁 Hub-and-spoke routing
🔧
Project agent works
Juno, Argus, Jarvis, Alfred, Plato
📥
Writes a capture
franzy-os/inbox/
🧭
Kiki reads + files
daily intake
🧠
Shared brain
franzy-os, filed
🤖
Any agent reads it
shared context

The shared brain

franzy-os, a file-based second brain

An OKF v0.1 markdown bundle with structured memory, runbooks, and life domains. Any LLM reads the same plain files; there is no proprietary memory format to lock into. It auto-commits and pushes to GitHub nightly at 23:00 SGT via cron on atlas, so it is designed to survive a full machine rebuild.

  • OKF v0.1
  • Markdown + YAML
  • Model-agnostic
  • Nightly auto-backup

The implementation arm

Cursor dispatch pipeline

dispatch-cursor.sh sends an implementation plan to a Cursor agent inside an isolated git worktree; artifacts are logged to .dispatch/STATUS.md, and up to two workers run in parallel. It uses my Cursor subscription rather than API tokens, which keeps AI coding cost separate and controlled. It never pushes or merges; I review every diff.

  • Isolated worktrees
  • Parallel workers
  • Human reviews the diff
Why I built it this way
One point of contact. I manage one agent, not seven. Kiki routes work so I never juggle context across projects.
Context that survives. The brain is plain files, so memory carries across sessions, devices, and models.
A markdown audit trail. Routing happens through an inbox folder, not a hidden service. The whole flow is inspectable.
Cost discipline. Coding work goes to Cursor on a subscription; the agent layer is self-hosted. No surprise bills.
Grows by template. New agents drop in from a shared spec, so the org scales without redesign.
The foundation
atlas. A self-hosted Ubuntu home server, reached over Tailscale. No paid hosting for the agent layer.
Cron + git. Scheduled jobs handle backups and upkeep; everything meaningful lives in version control.
Built incrementally. Stood up phase by phase over a focused initial sprint, then refined through everyday use.
Honest scope: the agents consume established MCP integrations (Jira, Slack, Confluence, Drive) rather than authoring new MCP servers, and a human approval gate sits in front of any change that ships.