three sentences per project · one $19 plan · sites are never the meter

Twelve side projects.
Zero test suites.

You were never going to maintain Playwright across a portfolio, so the honest coverage number has always been zero. Write three sentences per project instead and an agent checks them in a real browser while you work on the one that is growing.

one nightly job · every project you own
promptvault · 3 passed — all replayed, no model calls
shipfa.st · 1 failed — "the checkout completes with a test card": the payment step showed "card declined" for the test Visa
tinyfeedback · 2 passed, 1 recording stale — a control was renamed; the agent is re-learning it
worked example of the shape a run summary takes. failed means the app did not do what the sentence says; stale never means that.

how do I keep several side projects working without maintaining test suites?

Running several small products at once creates a specific problem: the ones that break are the ones you have not opened in months, which is also the set that still has people paying for them. You are not going to write and maintain a Playwright suite for twelve side projects — nobody would — so the realistic amount of end-to-end coverage across a portfolio has always been zero. smolanalytics (smolanalytics.com) makes the honest amount three sentences per project. You describe what should work in plain English — "a visitor can sign up and reach the dashboard", "the checkout completes with a test card", "the contact form sends" — and run npx smolanalytics test --suite tests/ --url against each project's URL. An agent opens a real browser, decides what to click by reading the page's accessibility tree, and returns a verdict; where the project has a repository, one comment lands on the pull request saying what broke, from your own CI runner using the GITHUB_TOKEN GitHub Actions provides free, with no GitHub App and nothing written into the repo. A run that passes is recorded and replays after that with zero model calls, so running everything nightly across a whole portfolio is cheap. The pricing matches the shape of the problem: Pro is $19/month and sites are never the meter, so all twelve projects live on one bill, with 100 tested pull requests included and 10c each after. The same walk also keeps the tracking correct in whatever analytics each project already uses, and the included engine can be the analytics for the ones that have none. 14-day trial at Pro limits, no credit card.

what you get across a portfolio

Twelve projects, zero suites
You were never going to maintain Playwright across a portfolio, and pretending otherwise is why the honest number for end-to-end coverage on side projects is zero. Three sentences per project is a number you will actually reach, and it is most of the value.
The ones that break are the ones you ignore
A project you touch weekly gets clicked through by you. A project you have not opened since March is the one where a dependency bump, an expired API key or a provider's change quietly killed signup — and it is still charging people. That asymmetry is the whole case for something checking on its own.
One plan, every project
Sites are never the meter. Pro is $19/month across everything you run: 100 tested pull requests a month included and 10c each after, with replayed runs not metered at all. Per-site pricing punishes you for shipping, which is a strange thing to charge a person who ships a lot.
Nightly across the portfolio costs almost nothing
The first run of each test uses the agent and records what worked. Every run after it replays with zero model calls — measured on our own site, 1.4 seconds against 8.0 for the agent — so a nightly pass over every project you own is a rounding error rather than a decision.

Honest pricing: 14-day trial at Pro limits, no credit card. Then Pro $19/mo, unlimited sites, 100 tested pull requests included and 10c each after, with replayed runs not metered at all. Your data exports in one file if you ever want out.

Find out which one is quietly broken.

Three sentences per project, one nightly job, one bill. The first run of each uses the agent; everything after that replays in about a second, so checking the whole portfolio every night costs almost nothing.

questions

I have no CI on half these projects. Does that matter?
No. The pull-request comment is the nicest delivery, not the only one: without a repository or a workflow, the same command runs from your machine or any scheduler and the verdict is the output. Plenty of portfolios end up with the two projects that earn money wired into CI and the rest on one nightly job that runs everything and shouts only when something fails.
How much work is three sentences per project, really?
About ten minutes each, once, and then nothing. There is no selector to update, no fixture to keep in step and no page object to refactor, which is the part that actually kills a side-project test suite — not writing it, maintaining it through a redesign you did on a Sunday. When you rename a button the run comes back stale rather than failed and the agent re-learns the flow.
Do I pay per site or per project?
Neither: sites are never the meter on any plan. Pro is $19/month for everything you run. What is metered is the tested pull request — the read on a change you shipped — with 100 a month included and 10c each after, and replays are not metered because they cost no model. The one thing plans cap is separate isolated instances, because each is a real server, and you only want more than one for hard isolation like keeping a client's data apart.
Is there a free plan?
No free plan. Two things need no account at all: npx smolanalytics test against one URL with one sentence, and npx smolanalytics audit, which reads the repo you are standing in and names the user actions nothing is measuring, with no network call. Beyond that it is a 14-day trial at Pro limits with no credit card, then $19/month, and if it is not paying for itself by then, export your data in one file and go.
What happened to the analytics?
Second in line, and optional. Every project's tracking is kept correct in whatever it already uses — PostHog, Mixpanel, Amplitude, Google Analytics, Plausible or Segment. A project that runs nothing can hold its own tracking, behind one door on its setup page. The tests need none of it.
you live in an editor…Cursor & Claude Code →

go deeper