Logins and roles
Save a sign-in once for each test account. It refreshes after every run, so tests start signed in.
Smoketest reads the ticket and the pull request, signs in with your test accounts, and works through the change in a cloud browser. You get the result, the recording, and every step on the ticket, from an AI teammate that did not write the code.
Failed · 3 of 4 checks passed on PR #1204 · 2m 38s
The invoice PDF leaves out the proration line. The preview says $312.40 and the PDF says $294.00. Step 16 in the recording.
Not tested: other invoice languages, because the ticket only covers English.
RecordingStepsReasoning
You get the result and the recording on the ticket.
It works through the slow steps of a test the way a person on your team would.
Save a sign-in once for each test account. It refreshes after every run, so tests start signed in.
A test account can own an inbox, so it receives codes and links the way a real user does.
Every download is recorded. It reads the name, size, and contents, including PDF text.
It works from the goal, the way a person would, so a renamed button does not fail the test.
Set a start URL for each board, or pass one for a single run from the API, CLI, or MCP.
Choose desktop, mobile, or both, and every ticket on that board runs at those widths.
Your columns, assignees, and workflow stay as they are. People only step in where a person is needed.
If a person moves a ticket while it is testing, it stops and never moves it back.
RecordingStepsReasoning
Your coverage grows with every sprint, and nobody writes it by hand.
Written from the ticket and its acceptance criteria. Lives for the sprint.
When a ticket reaches QASave it to your library and run it on deploys, pull requests, and pushes.
On every deployPoint it at production and get an alert when a flow breaks or recovers.
Hourly, daily, or weekly| QA team member | Smoketest | |
|---|---|---|
| Picks up a ticket | When it reaches the top of their queue | As soon as it reaches QA |
| Logins and email codes | Signs in and checks their inbox | Saved sign-ins and its own inbox |
| PDFs and downloads | Opens them and compares by eye | Reads them during the test |
| When the screen changes | Notices and adapts | Follows the goal and adapts |
| Proof on the ticket | A comment and maybe a screenshot | Result, recording, and steps |
| Judgment calls | Makes them | Leaves a note and waits for a person |
Your QA team stays in charge. Smoketest takes the first pass, and they keep the calls that need a person.
Someone checks every ticket today. Move the sliders to see what those hours add up to, and what Smoketest gives back.
Valued at $50 per hour, the U.S. median wage for QA analysts and testers (BLS, May 2025), over 26 two-week sprints. First pass only, before your Smoketest plan.
When a ticket touches more than your web app, the same ticket runs on the other surfaces too.
| Surface | Sandbox | What it checks | Proof you get | |
|---|---|---|---|---|
| Web apps | SandboxCloud browser at any width | What it checksFlows, forms, logins, downloads | Proof you getVideo, steps, transcript | → |
| Mobile apps | SandboxiOS simulator, Android emulator | What it checksScreens, gestures, deep links | Proof you getVideo, steps, device log | → |
| APIs | SandboxAPI runner against staging | What it checksStatus, contracts, auth, side effects | Proof you getRequest and response log | → |
| MCP servers | SandboxMCP client with a real model | What it checksSchemas, auth, real tool calls | Proof you getTool-call transcript | → |
| AI agents | SandboxYour agent's real interface | What it checksReplies, tool calls, side effects | Proof you getConversation transcript | → |
Building something else? One team asked us to test their voice agent, so we are adding it. Propose your surface
Whether a person or an agent does it, a good pass covers the same ground. Smoketest works out which of these a ticket needs, then runs them.
Follow the path the ticket describes, from the first click to the saved result.
Repeat it as each kind of user, including one who should not have access.
Try empty fields, odd characters, and the errors people see when something fails.
Check the layout at phone width and on the browsers your users run.
Confirm that the email arrived, the file downloaded, and the data saved.
No. It writes the test from the ticket, or from a sentence you give it. A renamed button does not fail the test, and nobody has to keep it up to date.
Yes. Capture a sign-in once and connect it to a test account. It refreshes after every completed test. If a session does expire, the ticket says so and waits for a new sign-in.
Give a test account its own inbox, or turn on inbound email for a test. It reads the message and carries on, the way a user would.
Yes. Set a start URL on the board, or pass one for a single run from the API, CLI, or MCP. HTTP Basic Auth credentials are stored encrypted.
It works with the test accounts you give it, the same as a person would. A test can include a cleanup section that runs after the result, and the run page warns you if cleanup did not finish.
Claude Code is good for a quick check while you build. The catch is that the agent that wrote the change is then grading its own work. Smoketest starts from the ticket, did not write the code, and leaves the proof where your team reviews it.
Every result links to the recording, the steps, and the reasoning, and says what it did not test, so you can check its work the way you would check a teammate's.
It starts at $399 a month for 1,000 runs. Each run is up to 10 minutes, and a longer test counts as two runs or more, one for every 10 minutes. If your team needs more, we design a Scale plan with you, so you stop buying extra runs.
Book a call and we will run one ticket on your staging site with you. You get the result and the recording the same day.