A stranger tested my SaaS and found my Free plan was hiding the product

I run Formkove, a form backend. You point your HTML form at an endpoint and submissions go to your inbox, a webhook, Slack and so on. Paid plans add AI that tags each submission, reads the sentiment and routes it to the right place.

A few days ago someone found Formkove in a Reddit thread, signed up, hosted a real form, sent submissions through it and emailed me four things they’d change. I hadn’t asked. Near the end they wrote “the backend itself worked really well for me, so this is mostly about letting people see that sooner.”

They were right. Nothing big was broken, people just couldn’t see the part I charge for. I shipped all four changes the same day.

1. Free users never saw the AI

My homepage sells sorting by sentiment and your own tags. But on Free the AI switch was disabled, so someone deciding on $12 a month had never seen one tagged submission.

They suggested AI on the first ~25 submissions. I went with a real trial: every Free account gets Pro’s AI (tags, sentiment, routing and up to 3 destinations like Slack or webhooks) for the first 50 submissions or 30 days, whichever comes first. No card, nothing to turn on.

Most of the work was deciding what counts:

  • The 30 days start at your first real submission, not at signup. People often take a week to wire up the form, and a signup clock would burn half the trial before they see anything.
  • Spam and test submissions don’t use it up. Otherwise bots could eat the 50 before a real lead came in.
  • New forms get starter tags (lead, support, feedback). The AI tags against your own list, so without these the first submission would have no tags.
  • Tags stay after the trial ends. New submissions go back to the Free spam check.
  • Existing Free users got it too. Anyone who has ever paid can’t get one, so cancelling doesn’t buy a fresh trial.

The sidebar shows how much is left, and each notification email has one line with the count. The upgrade nudge only shows up near the end.

2. There was no way to send a test

The empty Submissions page had one button, “Open setup”, and Setup had the endpoint and snippets but no way to try it. They had to host a form somewhere else to see anything. With a trial that’s worse, since the first thing you want is to watch the AI work.

Now there’s a “Send test submission” button on both pages. It sends a sample lead through the real pipeline (spam check, AI, email, webhooks) and the row is marked as a test everywhere.

They also suggested a curl example. I skipped it because we block curl at the edge, a lot of the bot traffic on form endpoints comes from it.

3. The AI said “Neutral” when nobody asked it

This was a real bug. With AI off, every submission still showed a “Neutral” badge, including “Could you quote a redesign… Budget about 4000 USD” and casino spam. As they put it, that makes the sentiment model look weak to someone deciding on Pro.

The model never looked at sentiment. Free gets a cheap spam-only check, but the parser returned the same shape as a full analysis, and that shape needed a sentiment:

return {
spam_score: Math.round(spamScore * 1000) / 1000,
is_spam: spamScore >= SPAM_THRESHOLD,
assigned_tags: [],
sentiment: "neutral",
}

“neutral” was a placeholder to keep the type happy, and the database column had the same default. The fix was sentiment: null, a migration so the column allows it, and a locked “Sentiment and tags · Pro” chip where the badge was. A fake label on casino spam is the last thing you want on the day you launch a trial that’s meant to show off the AI.

4. The notification email led nowhere

The “New submission” email only linked to the homepage. Now every notification has a “View submission” button that opens that exact submission, which during the trial is where you see the tags.

They also suggested a line like “Pro would have tagged this: lead · positive”. I skipped it. I’d just removed one made-up label and the trial shows real tags anyway.

What I took from it

Error tracking can’t flag a value that’s wrong but looks valid, and it won’t tell you why people don’t upgrade. One person using the product start to finish caught both. If you’ve built something, get one outside person to use it end to end and write down where they got stuck.

If you want to see it for yourself, sign up free and send a test submission. Your first 50 submissions get the full AI.

← All posts