UnitBob.Start with UnitBob
BUILT FOR THE WAY YOU BUILD

Keep the vibe.
Check the
app.

See what still works after a change.

Your AI builds fast. UnitBob maps your app’s business functions and turns them into runnable contracts. See the results before your next move.

Your app. Your contracts. A clearer picture.
YOUR APP, IN PLAIN SIGHTILLUSTRATIVE DEMO
weekend-project / business map
A little change.
The bigger picture.
Sample run #024
↪Sign in✓ Passed
▤Choose a plan✓ Passed
↗Send receipt! Failed
↔Take payment✓ Passed
!Payment went through. The receipt didn’t.Inspect the behavior behind the result
01 — CONNECT THE DOTSA result you can actually inspect.
FROM “IT SHOULD WORK.”TO “HERE’S WHAT WE CHECKED.”

“Done” is where
the checking starts.

01 /

The AI says it’s fixed.

You still click through the flow yourself. Just to be sure.

02 /

This works. What about that?

You changed one thing. Now you’re wondering what happened everywhere else.

03 /

Tests everywhere. Clarity?

A list of passing tests doesn’t tell you which app behavior they protect.

Don’t take a status
at face value.

Start with what your app should do.
Then look at what the contract found.

CONTRACT / RECEIPT-01! Failed

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 SAMPLE CONTRACT FOUND

Expected 1 receipt in the delivery queue. Found 0.

What this tells you

The receipt handoff failed in this scenario. It does not establish whether other notification flows work.

A passing contract applies to the behavior and conditions it exercises. It is not a guarantee that the whole app works.

Build. Check.
Keep going.

A business map, contracts you can rerun,
and results connected to your app.

01

Map what your app does.

UnitBob organizes your codebase into business functions. Review the map against the app you intend to build.

OUTPUT A business-function map
02

Give those functions contracts.

Generate executable contracts for behavior between parts of your app. Review what they actually exercise.

OUTPUT Runnable contracts
03

Make a change. Run them again.

Inspect passing and failing results on the map. Follow a failed contract to the behavior that needs attention.

OUTPUT Evidence for your next move

Keep your agent.
Add the picture.

Coding agents can write and run tests. UnitBob turns them into contracts tied to the business functions they protect, so you can return to the same map after the next change.

AN ILLUSTRATIVE COMPLETION MESSAGE

“All done. The checkout should work now.”

A CHECKABLE STATEMENT

Checkout → Receipt handoff

! FailedExpected 1 receipt. Found 0.

Clear expectations.
From the start.

Is this a guarantee that my app works?

No. A result describes the scenarios exercised in that run. Unchecked behavior, other environments, security and production availability need their own validation.

Does UnitBob continuously monitor my app?

The workflow shown here is map, generate and run. Results belong to a particular run; they are not a live monitoring feed. Rerun your contracts after changes.

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. Map the behavior.
See what your contracts can tell you.

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