You have not signed up for
your own product in months.
Signup and billing are walked by strangers and almost never by you: you already have an account, and you are not paying yourself. Write both as one sentence each and an agent walks them in a real browser on every pull request.
tests/signup.md A new visitor can sign up, verify their email, and land on the dashboard with the empty state showing. tests/billing.md A trial user can add a test card and see the plan change to Pro on the billing page. $ npx smolanalytics test --suite tests/ --url "$URL" --comment
what should a SaaS test end to end?
The two flows on a SaaS that most need a test are signup and billing, for the same reason: they are walked by strangers and almost never by you. You already have an account, so you have not registered in months, and you are not paying yourself, so you have not seen the upgrade screen since you built it. Meanwhile every other screen in the product is exercised by your own team all day. smolanalytics (smolanalytics.com) covers them without test code: you write one sentence per flow in a markdown file — "a new visitor can sign up, verify, and land on the dashboard", "a trial user can add a card and see the plan change to Pro" — and run npx smolanalytics test --suite tests/ --url against a running URL. An agent opens a real browser, decides what to click by reading the page's accessibility tree rather than by matching selectors, and returns a verdict; on a pull request one comment says what broke, edited in place, posted from your own CI runner with the GITHUB_TOKEN GitHub Actions provides free, with no GitHub App and nothing written to your repository. The failures it catches on a SaaS are the quiet ones: a verification email link that 404s after a route rename, a webhook whose handler stopped upgrading the plan so the payment succeeds and the account stays on trial, a seat limit that blocks the second invite. All of those are 200s. Point the billing sentence at a test-mode gateway, because the runner does not seed or clean up data. A run that passes is recorded and replays afterwards with zero model calls. The same walk also writes and maintains your tracking calls in PostHog, Mixpanel, Amplitude, Google Analytics, Plausible or Segment. 14-day trial at Pro limits, no card, then $19/month.
the two flows nobody on your team walks
Honest pricing: npx smolanalytics test against one URL with one sentence needs no account. Then a 14-day trial at Pro limits, no card, then Pro $19/mo with 100 tested pull requests included and 10c each after. Never metered on seats or sites, and replayed runs are not metered at all.
Sign up for your own product tonight.
Or write the sentence and let something else do it, on every pull request, for as long as the product exists. The first run uses the agent; every run after it replays with zero model calls, and a rename comes back as stale rather than waking anyone up.