Open SaaS: the free boilerplate behind AffRank.ai
Wasp's Open SaaS template gives you auth, payments, an admin dashboard, email, a docs site and end-to-end tests on day one. What it saved building AffRank, and what you still have to build yourself.
Repos: wasp-lang/open-saas · MIT · built on wasp-lang/wasp
AffRank.ai is built on Open SaaS, a free, open-source SaaS starter from the Wasp team. If you're about to build a subscription product, it's worth knowing what's in the box — and what isn't.
What you get on day one
- Wasp as the full-stack framework: React on the front, Node on the back, Prisma over PostgreSQL, wired together from one config file.
- Auth with email verification and social logins.
- Payments through Stripe, Lemon Squeezy or Polar.
- An admin dashboard, background jobs, file uploads and analytics hooks.
- Email through common providers.
- A docs and blog site built with Astro Starlight.
- Playwright end-to-end tests and one-command deploys to Railway or Fly.io.
AffRank's repository still has that shape: the Wasp app, a Playwright e2e-tests folder, and an Astro-based docs site alongside.
What it saved
The boring parts of SaaS are boring because everyone needs them and nobody's product is better for building them again. Login, password reset, subscription webhooks, plan limits, an admin view of users — Open SaaS turned weeks of that into an afternoon of configuration. The time went into the parts customers pay for: link injection, the page → placement → offer attribution model and the dashboard.
What it doesn't do for you
- Product decisions. A template makes it easy to add features, which is not the same as needing them. AffRank V4 got better by removing things.
- SEO for marketing pages. The app is a single-page React app, and out of the box every route can look like the same page to a crawler. That was the biggest finding in AffRank's marketing audit.
- Deploying your fixes. No template can make you ship.
Tips if you start from it
- Keep the template's structure for a while; it's what the docs and community assume.
- Set plan limits in one place and enforce them server-side.
- Pre-render or add per-route head tags to marketing pages early.
- Keep the e2e tests running. They're the cheapest insurance against breaking checkout.
A good boilerplate doesn't make your product. It gives you back the time to make it.
Some links in these notes are affiliate links. If you buy through one, I may earn a commission at no extra cost to you. I only link to tools I use or would recommend.