Mii-nagement 🏝️
A Tomodachi Life inspired agent management system where your coding agents live, interact with each other, and ship real code.
Inspiration
Coding agents are powerful, but working with them is oddly passive. You type a prompt, the agent disappears for ten minutes, and you pick up your phone. Now multiply that by three or four Claude Code sessions in separate terminal tabs. Every time you switch back, you have to re-read the scrollback just to remember what that agent was doing. Context switching is exhausting, so you doomscroll instead, come back to a wall of diffs, skim it, click approve, and repeat. We kept catching ourselves doing this. It became a reflex: the moment an agent started thinking, our thumbs went to our phones. The more agents we ran, the less we were actually engaged with the work we were responsible for.
We think that's a real problem. Every prompt has quietly become a cue to scroll, and that habit doesn't stay in the terminal. It's wearing down our attention spans. People are shipping code they didn't read, approving commands they didn't understand, and losing the habit of thinking critically about what their tools produce. The waiting time between prompts has become dead time, and dead time gets filled with a feed.
So we asked: what if working with agents felt less like juggling terminals and more like looking after a little town? What if you could see every agent and every step in one place, the agents had to come to you with real decisions, and checking in on the work was more fun than checking your phone?
Mii-nagement is for people who use coding agents every day and want to stay in the loop: developers, students learning to build with AI, and small teams. It's built to keep you watching, deciding and questioning while the agents do the work.
What it does
Mii-nagement turns an agentic coding workflow into a living island:
- Every project is an island, and every island is a real git repository. Start a fresh repo, clone one of your GitHub repos, or point it at a folder already on your computer.
- Every agent is a resident. Each has a name, a job (planner, coder, reviewer), personality sliders, and a custom Mii face and hairstyle built from Mii Maker parts. Their brain is a real coding agent you already use: Claude Code, Codex, or Gemini CLI (on your subscription login or an API key) over the open Agent Client Protocol or any OpenRouter model with nothing to install.
- The town layout is the workflow. Buildings are steps and roads are handoffs:
- 📬 Mailbox: the planner reads your task (typed, or a GitHub issue) and writes a plan.
- 🔨 Workshop: the coder implements it in an isolated git worktree, and the change is committed.
- 🧪 Lab: a resident works out how the project's tests run, runs them, and passes or fails the work.
- ⚖️ Courthouse: the reviewer reads the diff, then asks you to approve and merge.
- 📮 Post Office: writes the pull request and opens it on GitHub, where you can merge it with one click.
A failure sends the package back down the road. You can watch residents physically carry it from building to building.
- Bubbles pull you back in. When a resident needs you, a bubble pops over their head, where they can ask a question, ask for permission, or just say they are ready to merge.
- House keys and house rules. Decide per resident what they may do without asking: reading, editing, running commands, using tools.
- Talk to a resident mid-task. Walk into a building and chat with the resident at work. They answer from inside their actual agent session, and what you say steers the rest of that package.
- Residents have lives. They help each other when stuck, leave notes for neighbors, build friendships through handoffs, and show moods. When idle, they wander, visit friends, and nap.
- Island News and Insights. A daily gazette turns what happened into stories. Insights shows packages per day, where work gets stuck, test pass rate and answer times.
- Build mode. Reshape the land, move buildings, plant trees, and choose which workflow steps your island has.
- Gifts. Give residents MCP servers as gifts, or browse the MCP Registry in the gift shop.
How we built it
Backend: Python 3.12, Django, SQLite
- The backend contains all the logic. A workflow engine walks each task through the island's buildings as a graph, with several packages in parallel per island. When a building's owner is busy, a free neighbor stands in.
- Agent Client Protocol runners drive Claude Code, Codex, and Gemini CLIs) as subprocesses. Each resident keeps one agent session per task. Permission requests become bubbles, file access is checked against the worktree, and side chats fork the live session.
- An OpenRouter runner provides a small tool loop (list, read and write files, run commands, ask you) for any hosted model.
- TypeSafe's Jev makes the island's quick judgment calls: resident moods, rerunning flaky tests, and sending a neighbour to help when someone's stuck. Permissions always come to you.
- Gemini API is our backup judge: when Jev isn't set up, Gemini makes the same quick calls (moods, bad tests, who helps whom) using structured output. Residents can also think with the Gemini CLI.
- Safety: agents only work inside git worktrees of the island's own repo, outside our project folder. API keys are never in the database and are kept away from agent processes.
Cloud & CI/CD
- Vultr: hosts our landing page and app downloads.
- Docker + Caddy: runs the site with automatic HTTPS.
- GitHub Actions: runs ~300 tests on every push, then redeploys the site and builds the Mac and Windows apps.
Frontend: Godot 4.7, GDScript
- A 3D island rendered inside a 2D UI, with custom shaders for water, terrain, seasons and Mii faces.
- Animated Miis whose faces and hair come from Mii Maker parts, walking along paths, plus a full resident creator with a live 3D preview.
- Day/night following your real clock, seasons, music and sound effects.
Shipping
- A macOS and Windows app bundle that anyone can download.
- A landing page served by Caddy on a Vultr VM.
Challenges we ran into
- Agents reading the wrong instructions. Agent CLIs read the
CLAUDE.md/AGENTS.mdfiles of every folder above where they start. Our first worktrees lived inside our own repo, so every island's agents believed they were working on Mii-nagement. We moved all worktrees out of the project entirely. - Humans are slow, agents have timers. Waiting on a person used to count against the agent's step timeout, so answering a question after a few minutes could kill the step. We built a step clock that pauses while a bubble is open.
- Plan mode loves to cancel it's plan. Claude Code's plan mode ends the turn as "cancelled" if you refuse its "Approve plan" prompt, and the plan is lost. We use read-only modes instead.
- Godot was new to most of us. We learned signals, autoloads, nodes and SubViewports as we went, while keeping the game strictly display-only so all the logic stayed testable in Python.
Accomplishments that we're proud of
- Real coding agents opening real pull requests on real repositories, from inside a cozy island game. Planning, coding, testing, reviewing and opening the PR all ran end to end.
- A human-in-the-loop design that makes you more involved.
- Talking to a resident while they work, through a fork of their live agent session, with your words shaping the rest of the task.
- Mii-style residents with faces built from Mii Maker parts, moods, friendships, and an island that keeps living between tasks.
- Mii-nagement even started working on itself after we got the main functionality done! Go check out its commits on Github.
What we learned
- How the Agent Client Protocol works under the hood: sessions, modes, permission requests and forks, and how differently each agent CLI behaves.
- How to use async Django and Channels to keep a long-running workflow engine on one event loop with the async ORM.
- Godot from scratch: 3D in a 2D UI, shaders, nodes, and building most UI in code.
What's next for Mii-nagement
- Blueprints: save and share island layouts as reusable workflow templates.
- Shared islands for teams, with accounts and per-person house keys.
- More expressive Miis: mood expressions, body shapes, and parties and dreams when work goes well.
- The Caretaker: a resident who looks after the island when you're away and catches you up when you're back.
Log in or sign up for Devpost to join the conversation.