Debutly

Rehearse your launch.

Debutly sends AI agents through your web app as its first customers. In a real browser they sign up, confirm their email, pick a plan, invite their team and use the product. Then they tell you what broke, and where they gave up.

The cast for this run

  • Maya Okafor runs a six-person design studio. She signs up and buys the Team plan.
  • Tom Reyes is Maya's designer. He joins from her invite email.
  • Priya Nair uses a screen reader.
  • Lucas Berg is on a slow mobile connection.

Made-up customers for a demo app. You describe your buyers, and Debutly casts people like them.

Run log for acme.test
  1. Mayaopens acme.test and starts a free trial
  2. Mayaconfirms her email from the link in her inbox
  3. Mayachooses the Team plan and pays with a test card
  4. Mayainvites tom@studio.test
  5. Priyareaches the plan picker: its buttons have no namesFinding
  6. Tomopens the invite and reads "This link has expired"Finding
  7. Lucaswaits 14 seconds for the pricing pageFinding
  8. Lucasgives up before checkout

Finished in 6 minutes for $0.04, with 3 findings.

How a rehearsal works

  1. Start a test copy of your app

    A staging site, or a throwaway copy built fresh in CI with test keys. Never production: the agents create accounts, submit forms and pay.

  2. Describe your customers

    Say who buys from you and what they should get done. Debutly casts them: owners with budgets, their teammates, and people who use the web differently.

  3. Let them use it

    Each agent gets its own browser and inbox, and works through your app a step at a time, reading the screen as a person would.

  4. Read the notes

    Every problem comes with the steps to reproduce it, screenshots, and how many agents ran into it.

Notes from a rehearsal

From a run against a demo app. In the dashboard, each finding opens a replay of the moment it happened.

Blocker seen by 3 of 4 agents

Invite links expire before teammates open them

  1. The owner invites a teammate from Settings.
  2. The teammate opens the email a minute later.
  3. The page says "This link has expired", with no way to ask for a new one.

Major seen by the low-vision agent

The cookie banner covers the Pay button at 200% zoom

  1. Zoom the checkout page to 200%.
  2. Scroll to the card form.
  3. The banner sits over Pay, and its close button is off the screen.

Minor seen by the screen-reader agent

Plan buttons have no names

  1. Open Pricing with a screen reader.
  2. Move through the plans: each is announced only as "button".

What gets rehearsed

Whole businesses, not just users
An owner signs up and pays; teammates accept invites and work in their own logins. Roles, seats and shared workspaces get tested too.
People who use the web differently
Every run includes a screen-reader user, someone with low vision, someone on a slow connection and a non-native English speaker.
What buyers think
Skeptical buyer agents read your landing and pricing pages next to your competitors' and say why they would say no. Compare two versions before you ship one.
Real bugs, not test-environment noise
If your app runs in a sandbox, Debutly reads what it blocked and keeps those failures out of your findings.
A replay of every run
The dashboard shows each agent's run step by step: what it saw, what it did, why, and what happened next.
Costs you can see
Every run is priced before it starts and can be capped. A quick run with a low-cost model costs a few cents.

Free and open source

Debutly is licensed under AGPL-3.0. Run it on your machine or in your own GitHub Actions, with your own model key: your code and keys stay with you.

A hosted version is in the works. Watch the repository to hear when it's ready.

# in your app's folder
npx debutly init     # a few questions about your app
echo "DEBUTLY_API_KEY=sk-or-…" >> .env
npx debutly doctor   # checks the key, the browser and the app
npx debutly          # the rehearsal

Until the first npm release, type npx github:sroay/debutly in place of npx debutly.