No code. No config. Just results.
Catch broken signup & checkout
before your users do.
Write smoke tests in plain English. AutoSmoke runs them in a real Chrome browser on every deploy and on a schedule — so your app stays reliable.
Free plan includes 20 runs/month. No credit card required.
Built for indie devs shipping daily.
Stop learning about regressions from angry users, refund emails, or a dip in conversions.
< 5 min
to first result
0
selectors to write
0
config files
Used by indie builders, side projects, and small SaaS teams.
The real problem
Shipping is easy now.
Not breaking things isn't.
AI tooling makes it trivial to push changes fast. It also makes it trivial to accidentally break:
Autosmoke runs your critical flows like a real user and alerts you the moment something breaks — ideally before a single customer hits it.
How it works
Three steps. That's it.
No SDKs, no test runners, no browser drivers. Just results.
Point Autosmoke at your site
Paste a URL — staging or production. No config files, no setup scripts.
Describe a flow in plain English
"Sign up with email → confirm dashboard loads → log out." That's your entire test.
Autosmoke runs it automatically
On every deploy (GitHub Actions / CI), on a schedule (every 5/15/60 min), or on demand with one click.
What you get back
A report you can actually use.
Not just pass/fail. Every run comes with a full timeline, annotated screenshots, session video, and a shareable link you can drop in Slack or a PR comment.
Fewer false alarms — Autosmoke focuses on smoke checks for critical paths, not brittle UI micromanagement.
SMOKE TEST REPORT
your-app.com/checkout
Timeline
Why it's different
Intent-based, not selector-based.
Selectors change, timing shifts, and your tests fail even when your app is fine. Then you spend your weekend “fixing tests,” not shipping. Autosmoke follows the flow like a user would.
1import { test, expect } from "@playwright/test";23test("user can add item to cart", async ({ page }) => {4await page.goto("https://store.example.com");5await page.locator(6'div.nav__wrapper > ul > li:nth-child(3) > a[data-testid="shop-link"]'7).click();8await page.waitForSelector(9".product-grid__container .product-card:first-child"10);11await page.locator(".product-card:first-child .btn--add-to-cart").click();12const cartBadge = page.locator("span.cart-icon__badge");13await expect(cartBadge).toHaveText("1");14});
1Navigate to the Shop page2Click 'Add to Cart' on the first product3Verify the cart badge shows 1 item
Less maintenance. More shipping.
Use cases
Perfect for
Indie SaaS products
Make sure your core flows survive every deploy.
Landing pages with forms
Catch broken contact or lead-gen forms before users bounce.
Stripe checkout flows
Verify checkout → payment → success page works end to end.
Auth flows
Login, signup, password reset — test them all automatically.
Onboarding sequences
Ensure new users can complete your setup flow.
Admin dashboards
Verify critical pages load and key actions work.
Common smoke flows:
Integrations
Runs where you already ship
GitHub Actions
Block or warn on broken flows before merge/deploy.
# .github/workflows/smoke.yml- name: Run smoke testsuses: autosmoke/action@v1with:url: ${{ vars.STAGING_URL }}api-key: ${{ secrets.AUTOSMOKE_KEY }}
Copy-paste YAML. Works in minutes.
DocsScheduled Monitoring
Get alerted if production breaks at 2am.
Every 5 / 15 / 60 min
Run on a schedule. No babysitting required.
Notify via:
EmailSlackWebhookSimple pricing
Start free. Scale when you're ready.
No hidden fees. Pick the plan that fits your workflow.
Free
See AutoSmoke work on a real project.
- 1 project
- 20 runs / month
- Email alerts on failure
Pro
For solo founders and small teams shipping actively.
- 5 projects
- 200 runs / month
- Scheduled runs
- GitHub Actions integration
- Full run recordings
Team
For teams with multiple products.
- Unlimited projects
- 1,500+ runs / month
- Team member access
- Priority support
Questions.
(We have answers.)