Building a SaaS from scratch with modern tooling costs between $7,500 and $12,000 in developer time. A quality starter kit costs $199-499. The math is simple, but the decision isn't.
A SaaS starter kit is a pre-built codebase containing authentication, billing, team management, and other infrastructure that developers customize for their specific product. Think of it as a production-ready foundation rather than starting from an empty create-next-app.
This article breaks down the real costs, feature by feature, including what changes when you factor in AI coding assistants like Claude Code and Cursor. Since launching MakerKit in 2022, I've helped hundreds of developers ship their SaaS products. Here's what I've learned about when to build, when to buy, and what most cost estimates get wrong.
The Feature-by-Feature Cost Breakdown
Let's assume you're a senior developer billing at $150/hour (the 2026 average for experienced Next.js developers). You're building a production-ready SaaS with Next.js 16, React 19, and either Supabase or a Drizzle/Better Auth stack.
Here's what each component actually costs to build properly:
| Feature | Hours (Realistic) | Cost @ $150/hr | Notes |
|---|---|---|---|
| Auth + SSO + OAuth | 12-20 | $1,800-3,000 | Password reset, email verification, session management, social providers |
| Stripe/Payment Integration | 10-16 | $1,500-2,400 | Subscriptions, webhooks, customer portal, metered billing |
| Team/Org Management | 12-20 | $1,800-3,000 | Invites, roles, permissions, team switching, RLS policies |
| Admin Dashboard | 8-12 | $1,200-1,800 | User management, analytics, impersonation |
| Email System | 6-10 | $900-1,500 | Transactional emails, templates, Resend/Postmark integration |
| Marketing Pages | 4-8 | $600-1,200 | Landing, pricing, features, responsive design |
| Blog + Documentation | 6-10 | $900-1,500 | MDX/Markdoc, syntax highlighting, search |
| Project Setup | 4-6 | $600-900 | Monorepo, linting, TypeScript config, CI/CD |
| E2E Tests | 6-10 | $900-1,500 | Playwright, auth flows, billing flows |
| Total | 68-112 hours | $10,200-16,800 |
That's the optimistic estimate. It assumes everything works on the second or third try, you don't hit any edge cases, and you don't spend time researching best practices.
What This Estimate Doesn't Include
The table above covers core features. Here's what will add another 20-40 hours:
- Captcha/bot protection: 2-4 hours
- Rate limiting: 2-3 hours
- Internationalization (i18n): 6-12 hours
- Analytics integration: 2-4 hours
- Feature flags: 3-5 hours
- Onboarding flows: 4-8 hours
- Account deletion/data export (GDPR): 4-6 hours
- Error tracking and monitoring: 2-4 hours
A realistic production-ready SaaS takes 80-150 hours. At $150/hour, that's $12,000-22,500.
The AI Factor: Why Reference Code Matters More Than Ever
I've built SaaS products with Claude Code, Cursor, and Windsurf. AI coding assistants accelerate development by 30-50% for experienced developers.
But here's what most people miss: AI is only as good as the code it has to reference.
The Greenfield Problem
When you start from scratch, AI assistants pull from their training data. That training data includes:
- Outdated Next.js Pages Router patterns mixed with App Router
- Authentication examples that skip session invalidation
- Stripe integrations that don't handle webhook retries
- Database access without proper connection pooling
- React patterns from 2020 that don't work with Server Components
AI doesn't know which patterns are current. It generates code that "works" but accumulates technical debt from day one.
I see this constantly in support: developers who scaffolded their entire auth system with AI, then discover months later that sessions don't invalidate on password change, or that their webhook handlers aren't idempotent, or that their RLS policies have gaps.
How a Starter Kit Changes the Equation
When AI assistants have a well-structured codebase to reference, they:
- Follow established patterns: The existing code shows how to structure Server Actions, how to handle errors, how to validate input
- Use the right abstractions: Instead of inventing new patterns, AI extends what's already working
- Maintain consistency: New code matches the style, types, and conventions of existing code
- Avoid common pitfalls: Production-tested code demonstrates the edge cases that need handling
MakerKit includes AI agent rules and an MCP server specifically so that Claude Code and similar tools understand the codebase patterns. When you ask AI to "add a new billing feature," it sees how existing billing code works and follows suit.
The hidden cost of building from scratch isn't just the initial development time. It's every hour you'll spend later fixing the patterns AI helped you establish wrong.
What AI Still Doesn't Solve
Even with good reference code, AI requires human oversight for:
- Architecture Decisions: AI can implement what you describe. It can't decide whether to use Supabase RLS or application-level permissions, whether your team model should support nested organizations, or how to structure billing for seat-based pricing with annual discounts.
- Security Review: AI will write auth code that works. But does it properly invalidate sessions across devices? Handle token rotation? Prevent timing attacks on password comparison? You need to know what to ask for.
- Integration Edge Cases: Stripe webhooks that fail silently. OAuth state mismatches. Session tokens that don't refresh correctly on mobile Safari. AI generates code that works in happy paths. Production breaks on edge cases.
Revised Estimate with AI Assistance
With Claude Code or Cursor and a solid reference codebase:
| Feature | Hours (With AI + Reference) | Cost @ $150/hr |
|---|---|---|
| Auth + SSO + OAuth | 6-10 | $900-1,500 |
| Stripe/Payment Integration | 5-8 | $750-1,200 |
| Team/Org Management | 6-10 | $900-1,500 |
| Admin Dashboard | 4-6 | $600-900 |
| Email System | 3-5 | $450-750 |
| Marketing Pages | 2-4 | $300-600 |
| Blog + Documentation | 3-5 | $450-750 |
| Project Setup | 2-3 | $300-450 |
| E2E Tests | 3-5 | $450-750 |
| Total | 34-56 hours | $5,100-8,400 |
Without reference code (greenfield with AI):
| Feature | Hours (AI, No Reference) | Cost @ $150/hr |
|---|---|---|
| Same features | 46-78 hours | $6,900-11,700 |
| + Refactoring bad patterns later | 15-25 hours | $2,250-3,750 |
| Realistic Total | 61-103 hours | $9,150-15,450 |
A starter kit is $199-499. It pays for itself in the first afternoon.
Hidden Costs Most Estimates Miss
The Research Tax
Before writing a line of code, you'll spend hours deciding:
- Which auth library? (NextAuth vs Better Auth vs Supabase Auth vs Clerk)
- Which ORM? (Prisma vs Drizzle vs raw SQL)
- Which payment provider? (Stripe vs Lemon Squeezy vs Paddle)
- Which email service? (Resend vs Postmark vs SendGrid)
- Which hosting? (Vercel vs Netlify vs Railway vs Render vs Fly.io vs Cloudflare vs AWS Amplify vs DigitalOcean vs Coolify vs self-hosted)
Each decision requires reading docs, comparing tradeoffs, and often trying options before committing. Add 10-20 hours.
The "Last 20%" Problem
Getting auth to 80% takes 4 hours. The remaining 20% takes another 6 hours:
- Password reset emails that don't get spam-filtered
- Session invalidation on password change
- Handling expired magic links gracefully
- Rate limiting login attempts
- Proper error messages that don't leak information
This pattern repeats for every feature.
The Integration Dance
Your auth needs to talk to your billing. Your billing needs to update your database. Your database permissions need to respect your team structure. Testing these integrations end-to-end adds 15-25 hours.
Maintenance and Updates
Next.js 17 drops. React 20 changes something. Your auth library publishes a security patch. You're now responsible for every update, every migration, every breaking change.
With a maintained starter kit, someone else handles the boring work.
Common Mistakes When Evaluating Starter Kit Costs
- Comparing sticker price to "free": Your time isn't free. A $299 kit that saves 40 hours is a 40x return at $150/hour.
- Underestimating integration complexity: Individual features are easy. Making them work together reliably is where time disappears.
- Ignoring the AI training problem: Code you write from scratch becomes the reference for all future AI assistance. Bad patterns compound.
- Forgetting maintenance burden: The kit you build is the kit you maintain forever. Updates, security patches, dependency upgrades.
- Overvaluing "understanding every line": You don't need to understand every line of your database driver either. Understanding the patterns matters more than authoring every character.
- Comparing feature lists without testing: A kit that claims "authentication" might mean basic email/password. Or it might mean OAuth, magic links, MFA, session management, and account linking. Test before deciding.
- Assuming you'll "just add it later": Features you skip now become features you retrofit later at 3x the cost, working around existing code.
When Building From Scratch Makes Sense
Despite the costs, building from scratch is right in specific situations:
- Learning Is the Goal: You want to deeply understand auth, billing, and multi-tenancy. Building forces understanding. If you're investing in your skills rather than shipping a product, build.
- Your Requirements Are Genuinely Unusual: You need GraphQL federation across microservices. Or edge-deployed auth with regional data residency. Or a billing model that no payment provider natively supports. Starter kits optimize for common patterns. If you're outside those patterns, you might fight the kit more than it helps.
- You're a Funded Company With an Engineering Team: When you have 6 months of runway and 3 engineers, $15,000 in development time is a rounding error. You can afford to build exactly what you need, and you probably want code that perfectly matches your team's conventions.
- You're Building a Foundation for Multiple Products: Agencies and serial founders launching many products can amortize the upfront investment. Build once, use many times.
When a Starter Kit Pays for Itself
A starter kit makes sense when:
- Speed matters more than customization: You want to validate an idea, not build infrastructure
- You're using AI coding assistants: Good reference code makes AI dramatically more effective
- Your budget is time, not money: A $299 kit saves 50+ hours of work
- You want proven patterns: Authentication edge cases are already handled
- Maintenance isn't your core competency: Updates and security patches are someone else's job
MakerKit's Approach
MakerKit includes everything from the cost table above, plus:
- Three stack options: Supabase-native, Drizzle + Better Auth, or Prisma + Better Auth
- Multiple routers: Next.js 16 App Router or React Router 7
- AI-ready: MCP server integration, AI agent rules for Claude Code/Cursor/Windsurf, AI Templates (Teams license)
- Production patterns: Server Actions, proper error handling, type-safe database access
The Pro license for the Supabase stacks starts at $299, while the Pro license for the Drizzle and Prisma stacks starts at $349. Both are lifetime licenses with continuous updates.
Disclosure: I built MakerKit, so I'm biased. But I also built it specifically because I was tired of rebuilding the same SaaS infrastructure across projects, and because I saw developers struggle with AI-generated code that lacked proper patterns.
Starter Kit Comparison
Here's how the market breaks down (as of time of writing):
| Kit | Price | Stack | Key Differentiator |
|---|---|---|---|
| MakerKit | $299-599 | Next.js, Supabase/Drizzle/Prisma | Multiple stacks, AI-ready with MCP server, React Router option |
| ShipFast | $199 | Next.js, MongoDB/Supabase | Good docs, active community |
| Supastarter | $349 | Next.js, Supabase | Clean code, good internationalization |
| OpenSaaS (Wasp) | Free | Wasp, React | Open source, simpler setup |
| SaaSykit | $299 | Laravel | PHP ecosystem |
Pick based on your stack preference and the specific features you need. They're all better than building from scratch for most use cases.
The Decision Framework
Use a starter kit when:
- Time to market matters
- You're building a standard B2B or B2C SaaS
- You plan to use AI coding assistants
- You want to focus on your unique features, not infrastructure
Build from scratch when:
- Learning is your primary goal
- Your requirements are genuinely unusual
- You have a funded team with time to spare
- You're creating a foundation for many future products
If unsure: Start with a starter kit. You can always replace components later. You can't easily fix patterns that AI has propagated throughout your codebase.
Getting Started
If you're leaning toward a starter kit:
- Check MakerKit pricing to see which license fits your needs
- Take the free MakerKit course to understand the codebase before buying
- Compare features across kits to find the right match for your stack
If you're leaning toward building from scratch:
- Start with auth (it's the most complex part)
- Establish patterns early that AI can follow
- Document your conventions explicitly
- Plan 3-4x the time you initially estimate
The goal isn't to prove you can build everything yourself. It's to ship a product that solves a problem. Choose whichever path gets you there faster.