Skip to content
KaleFlow
Get started

Evidence for softwareRepo + live URL inProof out

Your product claims to create value. Here’s the evidence.

KaleFlow reads your repo, explores your live app like a real user, and compiles what it finds into replays that need no AI to re-run. Every step keeps its screenshot, video and trace, so you can see which flows still work and exactly where one broke.

Simulated run · app.example.com

4 flows3 passed1 failedT+00:18.43

app.example.com/billing/checkoutTeam plan4242 4242 4242 424212 / 34123Payx:225 y:137 · disabledstep 4 · screenshot

Flow 04/billing/checkout

Upgrade to a paid plan

Failed

The Pay button never enables. The request that prepares the payment returns 500.

  1. 01Open /billingPassed0.88s
  2. 02Choose the Team planPassed0.71s
  3. 03Enter a test cardPassed1.57s
  4. 04Click PayFailed1.04s
  5. 05See the receiptNot run—
  • screenshots
  • video
  • trace
  • HAR
  • console

Fig. 1The KaleFlow canvas, simulated against a demo app. Four value flows, one broken. Drag to pan; hover or select a flow to open its evidence.

End-to-end suites rot. Dashboards say green while signup is broken.

A test tells you an assertion held. It does not show you the screen a new user saw this morning. KaleFlow keeps the record, flow by flow, so the question “does this still work?” has an answer you can open and look at.

How it works

Four steps. Each one leaves a record.

You give KaleFlow two things: a code repository and a live URL. It does the rest in order.

  1. Repo Brief

    It reads your code first.

    The Repo Brief reads your repository and predicts the flows where your app creates value: signing up, checking out, inviting a teammate. You see the list before anything runs.

    Repo Briefpredicted value flows · 4

    FlowFound inConfidence
    Sign upsrc/app/signup/page.tsx0.94
    Create a projectsrc/app/projects/new/page.tsx0.91
    Invite a teammatesrc/app/settings/members/invite.tsx0.88
    Upgrade to a paid plansrc/app/billing/checkout/page.tsx0.86
  2. Crawl

    Then it uses your app like a person.

    An AI crawler opens your live URL and works through each flow as a real user would. It clicks, types and waits. What it finds, it compiles into a replay.

    crawlflow 01 · Sign up

    1. 14:02:07openhttps://app.example.com/signup
    2. 14:02:08fillEmail → a@example.com
    3. 14:02:08fillPassword → ••••••••••
    4. 14:02:09click“Create account”
    5. 14:02:11arrive/welcome
    6. 14:02:11compilereplay “Sign up” · 3 steps
  3. Replay

    The replay runs again without AI.

    A replay is a deterministic automation. It runs the same steps in the same order every time, and it needs no model to do it. Run it as often as you like.

    replay · Sign upAI calls: 0

    1. Open /signupPassed0.81s
    2. Fill email and passwordPassed1.12s
    3. Submit, land on /welcomePassed1.94s

    Same steps, same order, every run. 4 replays in this project.

  4. Evidence

    Every step keeps its proof.

    Each replayed step saves a screenshot, video, a trace, a HAR file and the console output. When a step fails, you open the screenshot of the broken step.

    Evidence for step 4, Click Paystep 04 · Click Pay
    app.example.com/billing/checkoutTeam plan4242 4242 4242 424212 / 34123Payx:225 y:137 · disabledFailed

    The screen at the moment the step failed. The Pay button is still disabled.

    The whole flow as video, with a marker at each step. Jump straight to the failure.

    1. 00:00.00navigate/billing200 · 142 ms
    2. 00:00.88click“Team” planselected
    3. 00:01.59fillCard number4242 4242 4242 4242
    4. 00:03.16click“Pay”button is disabled

    Each action the replay took, in order. POST /api/billing/intent returned 500 just before the click.

See each step in detail

Evidence

Green is a claim. This is the record.

Open any step and see what the browser saw: the screen, the requests behind it, and what the console said. Passing steps keep their proof too.

app.example.com/signupa@example.com••••••••••Create accountPassed
Exhibit ASign up, step 3. The account exists and the welcome screen loaded. 00:03.87
app.example.com/settings/membersAa@example.comOwnerBb@example.comMember · joinedPassed
Exhibit BInvite a teammate, step 5. User B is in the members list. 00:07.31
app.example.com/billing/checkoutTeam plan4242 4242 4242 424212 / 34123Payx:225 y:137 · disabledFailed
Exhibit CUpgrade to a paid plan, step 4. The Pay button never enables. 00:04.20

HAR · step 04 · Click Pay0 — 720 ms

MethodRequestStatusTimeWaterfall
GET/billing/checkout200142 ms
GET/api/billing/plans20088 ms
GET/api/session20054 ms
POST/api/billing/intent500212 ms
GET/api/billing/intent/status40461 ms

consolestep 04 · 5 lines

  1. 00:03.16log[checkout] plan=team interval=month
  2. 00:03.48warn[checkout] payment intent not ready, retrying (1/1)
  3. 00:03.71errorPOST /api/billing/intent 500 (Internal Server Error)
  4. 00:03.72errorTypeError: Cannot read properties of undefined (reading 'client_secret')
  5. 00:03.72error at confirmPayment (checkout.tsx:88:31)

Multi-actor flows

Some flows need two people.

An invite only works if someone else can accept it. KaleFlow runs both sides: user A sends the invite, user B opens it and joins, and user A sees them arrive. The hand-off is part of the record.

  1. 01 · user AOpen MembersPassed0.72s
  2. 02 · user ASend invite to user BPassed1.26s
  3. Hand-off from user A to user B: invite link
  4. 03 · user BOpen the invite linkPassed1.88s
  5. 04 · user BAccept and joinPassed2.14s
  6. Hand-off from user B to user A: new member
  7. 05 · user ASee user B in MembersPassed1.31s

Fig. 2Flow 03, Invite a teammate. Five steps, two users, two hand-offs. Simulated run.

Local-first

It runs on your machine first.

Three commands. The crawl and the replays run locally from the CLI, and the canvas opens in your browser. Nothing leaves your machine unless you choose to upload a run.

When you want to share runs with your team, the hosted app is at app.kaleflow.com.

terminal
  1. npx kaleflow init --app https://app.example.com --repo .

    Reads the repo and writes the Repo Brief.

  2. npx kaleflow crawl

    Explores the live app and compiles replays.

    ✓Sign up3/3 steps3.87s

    ✓Create a project3/3 steps3.05s

    ✓Invite a teammate5/5 steps7.31s2 actors

    ✕Upgrade to a paid plan4/5 steps4.20sPay button disabled

    evidence saved: screenshots, video, trace, HAR, console

  3. npx kaleflow ui

    Opens the canvas in your browser.

Output shown is illustrative, from the simulated run above.

Find out which flows still work.

Point KaleFlow at a repo and a URL. The first map takes one crawl.