Before a behaviour went into EVE's production agent, I tried it in Baby Eve: a Slack prototype I built alone, with a real bot, a real model, and a seeded world. In August I rebuilt it on Vercel's eve framework.
The pattern library17 of 22 covered by a test
01 · Morning decisionCovered by a test
A standing decision waiting on the room, not a report to scroll past.
EveAPP
Morning. One thing needs you today: Marco asked for the two-page version. Send it now, or hold it for Thursday's call?
Send itHold for Thursday
My work386 commits, all mine12 weeks, May 27 to Aug 22+84,940 −15,483 lines
Designer and sole developer of the prototype, working with AI coding agents as pairs throughout. The production agent, its data, its integrations, and its infrastructure belong to EVE's engineers; the lab only ever read from them.
Example messages are reconstructions. Names and numbers in them are illustrative.
A prototype with a contract
A prototype that ships nothing drifts toward becoming a second product. Baby Eve had a written contract instead: it answers one question at a time about how Eve should feel and behave, uses just enough real Slack, model, and state to make the answer credible, and stops before it becomes a production system.
The rule for what belongs where is one sentence. If a change needs production credentials, writes customer data, adds a real integration, creates a second source of truth, or has to be operated for customers, it does not belong in the lab. What leaves the lab is a behaviour contract and its evidence, never a copy of the code.
Where a change belongs
Tap a change to place it
Belongs in the lab
Belongs in the product
One question at a time
Every experiment was a small vertical story, not a subsystem. It named one uncertainty, stated what should become more legible or trustworthy, changed only the surfaces that scenario needed, and replayed the golden path plus at least one failure.
An experiment was done only with evidence: the transcript, the renders, a check that fails when the behaviour breaks, and a written decision to graduate, iterate, reject, or archive. No more than two ran at once.
The experiment loop
1. Question. Name the one uncertainty the experiment resolves.
A design doc the build fails on
Baby Eve invented conversation patterns that had no spec anywhere: reactions as the whole interaction, a message that redraws instead of a feed that grows, silence as a designed state. I named 22 of them as a system. Each is a choreography, a copy contract for the strings it posts, and anchors that point at the code that implements it.
The anchors are checked. A script parses every one and fails the build when a cited file is gone or its symbol no longer appears in it, so renaming the code forces the doc to change in the same commit. A pattern without a test is labelled "not yet", and five of them still are. An honest label is the invitation to write the test.
Rebuilt on eve
By August the prototype's custom runtime was spending its effort on generic agent problems: sessions, resuming, approvals, retries, schedules, tracing. None of that was what the lab existed to learn.
So I rebuilt Baby Eve on Vercel's eve framework, one vertical slice at a time. eve owns the durable machinery. Baby Eve keeps everything that is Eve: her judgment, the seeded world, the information hierarchy, the Slack presentation, the artifacts, the personality. Dependencies are pinned exactly, and every framework upgrade has to pass the build, the evals, a restart, an approval, and a Slack replay. The decision covered the lab only; EVE's production architecture is its engineers' call.
Who owns what
eve
Durable sessions
Work orchestration
Human input
Schedules
Sandboxes
Tracing
Eval infrastructure
Baby Eve
Domain judgment
Seeded world
Information hierarchy
Slack presentation
Artifacts
Personality and delight
The generic machinery moved to the framework. What the lab studies stayed its own.
Planning at AI speed
I built Baby Eve with AI coding agents as pairs, and that changed how the lab planned. Calendar estimates meant little when a focused pass could take an idea from question to replayed evidence. The unit of planning became the pass.
Anything bigger than three passes was not accepted; it had to be split into independent experiments first. Things outside the lab, such as a Slack reinstall, a production change, or a research session, were gates, not estimates.
Planning in passes
Size
Work
Done when
S
One build-and-verify pass
The revised artifact and a focused check
M
Two or three passes
A golden replay, a failure replay, and a decision
L
Not accepted
Split into independent S or M experiments
What a lab is for
The lab's value was never its code. It was a place where "how should Eve behave here" could be answered with a replay and a check instead of an opinion, and then handed to the production team as a contract they could hold me to.
Rebuilding it on eve made that sharper. Once the framework owned the plumbing, every remaining line in the lab was about the experience, which is the only thing a designer's prototype should be about.