I built a freemium SaaS on WordPress in 4 months
Today I'm launching QR Studio Vault (https://qrstudiovault.com), a freemium QR code generator. It's my first SaaS, built solo, on WordPress. Here's the full story.
Why WordPress?
When I told other developers I was building SaaS on WordPress, I got laughed at. "Use Next.js." "Use Laravel." "WordPress is for blogs."
Here's why I chose it anyway:
- I'm solo. Speed matters more than prestige.
- Paid Memberships Pro handles subscriptions, access control, drip content — $0 upfront.
- WordPress has 50,000+ plugins. Almost anything I needed already existed.
- Hosting is cheap.
- SEO is battle-tested.
The stack
- WordPress 6.x
- Paid Memberships Pro (free core)
- PayPal payment gateway
- Custom QR engine (qrcode.js + SVG rendering)
- SMTP email plugin
- Shared hosting with SSL
The 9 QR code types
- URL
- WiFi (auto-connects)
- vCard (contact info)
- Email (prefilled)
- SMS (prefilled text)
- Phone (auto-dial)
- Plain text
- Location (opens maps)
- Event (adds to calendar)
SVG rendering for vCard was the hardest — encoding contact data creates very dense QR codes.
The Stripe disaster
Set up Stripe, tested it, everything worked. 24 hours before launch, Stripe banned my account with zero explanation. No appeal.
Scrambled to set up PayPal. Took 2 days of debugging webhook issues:
- PMPro auto-registered a ghost webhook
- I ended up with 3 stale webhooks with wrong URLs
- Users were created but not assigned memberships
Lesson: always have a backup payment gateway ready BEFORE launch.
The PayPal webhook fix
For anyone doing PMPro + PayPal:
- Log into PayPal Developer Dashboard
- Delete ALL existing webhooks
- In WordPress, clear Client ID + Secret → Save
- Paste credentials back → Save
- Verify webhook URL:
https://yourdomain.com/wp-json/pmpro-paypal/v1/webhook - Subscribe to ALL events (min: PAYMENT.SALE.COMPLETED, BILLING.SUBSCRIPTION.ACTIVATED)
Pricing strategy
- Free: 5 codes/month
- Starter: $9.99/mo
- Pro: $19.99/mo (SVG)
- Business: $49.99/mo (API)
Competitors charge $30-50/mo for SVG. My Pro plan is deliberately affordable.
Mistakes
- Scope creep. Cut 4 features to ship.
- No email list before launch.
- No warm audience.
- Underestimated payment setup.
- No marketing prep in advance.
What went right
- WordPress speed — 4 months vs 8+ in Next.js.
- Real free tier, no dark patterns.
- Fair pricing.
- Battle-tested SEO foundation.
Try it
Free tier, no credit card:
👉 https://qrstudiovault.com
Feedback welcome, especially on the API design.
Building solo, launching scared. 💪
— Diego
Top comments (0)