UnitBob.Start with UnitBob
FOR APPS BUILT WITH AI

Build fast.
Know it
works.

One board for your app: inside, outside, and the next feature.

  • A lamp on every part of your app. Green works, red broke.
  • Every external service checked. Payments, email, sign-in and APIs, against the real vendors.
  • New features without fear. The old ones are checked before you finish.
Works in Claude Code and Codex. Rails, JavaScript/TypeScript and Python.
YOUR BOARDSAMPLE APP
weekend-project
Your appExternal servicesNew feature
↪Sign in✓ Works
▤Choose a plan✓ Works
↗Send receipt! Broken
↔Take payment✓ Works
!Payment went through. The receipt didn’t.Your agent gets this as its next fix
FROM “THE AI SAYS IT’S DONE.”TO “HERE’S WHAT STILL WORKS.”

“Done” is where
the worrying starts.

01 /

The AI says it’s fixed.

You still click through the whole app yourself. Just to be sure nothing else broke.

Lamps on every part
02 /

A customer tells you checkout is down.

Your code didn’t change. A key expired, or the payment account ran out of something.

External services
03 /

You’re scared to add the next feature.

Every new thing might quietly break an old one. So you stop building.

New features

A traffic light for
every part of your app.

UnitBob draws your app as the things it does for people —
signing in, paying, sending a receipt — and puts a lamp on each.

  • Green it works
  • Red a change broke it
  • Amber agreed, not built yet
  • Grey never checked
CONTRACT / RECEIPT-01! Broken

A paid order should get a receipt.

GIVEN

A customer has a valid email address

WHEN

Their payment completes successfully

THEN

A receipt is queued for that customer

WHAT THE CHECK FOUND

Expected 1 receipt in the delivery queue. Found 0.

What happens next

Payment still works; the hand-off to email doesn’t. Your agent takes this contract as its next fix and runs it again.

Know when an outside
service falls off.

Payments, email, sign-in, storage, AI vendors: your app leans on services you don’t own. UnitBob checks each one against the real vendor and gives it a card.

Payments✓ Works
Access
The vendor lets your app in
Work
The account can take money
Email! Broken
Access
The key is still good
Work
This month’s sending limit is used up
Sign in with Google✓ Works
Access
The vendor lets your app in
Work
Sign-in is allowed for your app
AI modelNot checked
Access
The key is still good
Work
Checking would cost money, so the card says so instead

Two lamps per service. Access: does the vendor still let your app in? Work: can your account do the job — money, limits, permissions?

A red card is not your code. It names the key or the vendor, so you know where to look.

Build the next feature.
Keep the last ten.

Describe what you want in your own words. UnitBob agrees with you what “done” means, then checks the new feature — and every old one — before you finish.

  1. 01 — DESCRIBE IT

    “Customers can use a discount code.”

    Say it to your agent like you’d say it to a person.

  2. 02 — AGREE ON DONE

    3 scenarios, in your words

    Your agent asks only what it still needs to know and writes down what “done” means.

  3. 03 — BUILD

    Red until it works

    Each scenario becomes a contract. Your agent builds until the new ones pass.

  4. 04 — FINISH

    New: 3 of 3 pass.
    Old: 42 of 42 still pass.

    Every old contract runs too. If the new feature broke something, you hear it now — not from a customer.

Once finished, the new contracts stay on the board and guard the feature from the next change.

Three steps. In the
agent you already use.

No new editor, no tests to write.
Your coding agent does the work; you say what matters.

01

Add the plugin.

One line in Claude Code or Codex. Then start a new chat.

YOU GET UnitBob in your agent
02

Let it map your app.

Your agent draws your app’s parts and writes their contracts. You check the map matches the app you meant to build.

YOU GET A board with a lamp on every part
03

Ask “is anything broken?”

After any change. Red lamps come with a reason, and your agent can fix them one by one.

YOU GET What still works — and what to fix

Clear expectations.
From the start.

Do I have to write tests?

No. Your coding agent writes the contracts. You agree, in your own words, what each part of your app should do.

Does UnitBob watch my app all the time?

The lamps light up every time your contracts run: when you ask your agent to run the checks, and when it finishes a feature. External services are checked against the real vendors when you ask. It is not an uptime monitor for your live site.

Is a green lamp a guarantee?

No. A green lamp means its contracts passed in that run. What no contract checks — other environments, security, heavy load — needs its own checks.

What does my project need?

A local codebase in Ruby on Rails, JavaScript/TypeScript or Python; Claude Code or Codex with the UnitBob plugin; Node 18 or newer and Python 3.10 or newer.

Where does my code go?

The coding agent works with your local project, and the UnitBob command-line tool communicates with the UnitBob server. Your configured AI provider may process code supplied by the agent.

More building.
Less “I hope it works.”

Start with one project. See its health, its services
and its next feature on one board.

Start with UnitBob Already have the UnitBob plugin? Start in your coding agent.