I launched Observare in April — bundled ops monitoring for solo devs and small agencies (uptime, SSL expiry, ports, cron heartbeats, a Linux agent for private networks, Stripe webhook logging, status pages). One plan, £5/month, 7-day free trial.
Four months later: zero signups.
The product wasn't the problem — I use it to monitor its own infrastructure every day. The traffic wasn't zero either. The problem was the first thing every visitor hit: a card details field on the signup form.
I'd gone card-up-front deliberately — it filters spam accounts and converts trials automatically on day 7. Standard advice. But that advice comes from companies with brand trust. Nobody hands card details to a £5/month site they found an hour ago, run by someone they've never heard of. I wouldn't either. Every argument for card-up-front assumes the visitor already trusts you; mine don't yet.
So I rebuilt the funnel:
- Signup is now name, email, password. No payment step at all — Stripe isn't even loaded on the marketing site any more.
- The trial lives in my own database, not in Stripe. A small background worker handles the lifecycle: reminder email 2 days before the end, then if there's no subscription, monitoring pauses — the account and all its config are kept.
- Card entry moved inside the product, via Stripe's hosted Checkout, at the moment someone decides to stay. Subscribe mid-trial and the remaining free days are honoured — the card isn't charged until the trial would have ended anyway.
- Expired ≠ deleted. A paused account resumes with one click, weeks later if need be. Abandoned accounts get purged on a documented schedule instead of rotting forever.
The subtle bit that took the most thought: with a hosted checkout, "user clicked subscribe" and "user actually subscribed" are different states. Someone can open the checkout page, get a Stripe customer created, then close the tab. If your code treats "has a Stripe customer" as "is a paying user", that person gets a free trial that never expires. The rule that fixed it: a user belongs to Stripe only when a subscription exists, not a customer.
Trade-off I've accepted: spam/drive-by signups get 7 days of free monitoring now. Rate limits and the purge policy cap the damage, and honestly — if the alternative filter was also filtering out 100% of real customers, it wasn't a filter, it was a wall.
The new funnel went live this week. I'll report back with whether "no card required" actually moves the number that matters.
Site: observare.co.uk — curious what other bootstrappers found when they dropped card-up-front: did trial abuse actually materialise, or is it mostly a myth at small scale?