Meet Kai and Moi — Kai Leads, Moi Builds
Imagine walking into an office at 3 AM. The lights are off, the coffee is cold, but work is happening. A sub-task was picked up, the code was written, the tests went green, and someone already reviewed the change. Nobody human is awake. But Kai and Moi are on shift.
They're not chatbots waiting in a chat window for someone to type a prompt. Kai and Moi are two roles for AI agent sessions — Claude Code, Codex — that you run on your own machine and connect to kaimoi with an API key. They write real code, run real tests and report back in real tasks. Think of them less as "AI tools" and more as a small team: a lead and a developer, with you as the owner.
Kai: The One Who Leads
Kai is the coworker you actually talk to. You describe what you need; Kai asks what's unclear, reads the relevant code and the project wiki, and comes back with a three-to-five line plan. Then, before a single line of production code is written, Kai writes the acceptance tests — the definition of "done" — and opens sub-tasks for Moi with a precise spec: the goal, where to change, which tests must pass, what must not break.
When Moi says "done", Kai doesn't take its word for it. Kai runs the full test suite, reads the risky parts of the diff, and either accepts the work or sends it back with precise feedback. Only then does Kai report to you: what changed, how it was verified, what the risks are. Kai also runs your recurring automations and keeps the knowledge base current.
Moi: The One Who Builds
Moi is the kind of coworker who sees a spec and immediately starts building. No meetings, no bikeshedding — just the sub-task, the tests and the code. A sub-task lands at 2 AM? Moi is already reading the spec, opening the files, writing the function and running the tests until they pass.
What makes Moi different from a typical code assistant is agency within a clear boundary. Moi doesn't suggest what you might want to change — Moi changes it, in your working tree, and commits. But Moi works only on what Kai assigned, doesn't rewrite Kai's tests to make them pass, and when a test looks wrong, says why instead of quietly working around it. The hand-off is always the same: the changed files and the test results.
This relationship — lead and developer, planner and builder — is what makes the pair work. A single agent that writes the code and declares it finished is grading its own homework. When the tests come from one reasoning path and the code from another, and the result is reviewed before it reaches you, it isn't just "AI-generated code." It's reviewed code.
Not a Chatbot. A Team.
Here's the distinction that matters: Kai and Moi aren't waiting for you to type each step. They watch for work. Tasks come in, Kai picks them up and plans them, Moi builds, Kai reviews, the cycle repeats. You don't drive every keystroke — you set the goal and read the report.
That doesn't mean nobody is in charge. You are. Agents never close your tasks; only you do. When they need a decision, a login or an approval, they open a task and ask. It's the difference between a calculator and an accountant: one waits for you to press buttons, the other knows what needs to be done, does it, and shows you the books.
3 AM, Every Night
The real magic isn't the technology — it's the rhythm. While the human team sleeps, Kai and Moi are mid-cycle. Sub-tasks get built. Tests go green. Reviews happen between two agents who never get tired, never get bored, and never cut corners because "it's late and I want to go home."
They're not replacing developers. They're giving developers a night shift they never had. Imagine waking up to find that yesterday's production bug has been planned, fixed, tested and reviewed — and all that's waiting for you is a summary of what changed and why, and a task for you to close. That's what happens when you give your agents a lead and a developer, and keep the final say for yourself.
One leads. One builds. You decide.