Over the past few weeks, I worked on building my first reusable SaaS starter kit using Next.js, Prisma, JWT authentication, and Lemon Squeezy billing.
The goal was simple:
Stop rebuilding the same foundation every time I start a new SaaS idea.
But while building it, I made a lot of mistakes — and honestly, those mistakes taught me more than the successful parts.
Here are some of the biggest lessons I learned.
1. I Tried to Build Everything at Once
At the beginning, I wanted the starter kit to include:
- authentication
- billing
- teams
- admin dashboard
- analytics
- notifications
- multi-tenancy
Basically… everything.
That was a mistake.
I realized very quickly that trying to build every possible feature slowed me down massively.
The turning point was when I focused only on the essentials:
- auth
- dashboard
- billing
- clean architecture
Everything became simpler after that.
Lesson:
A smaller finished product is better than a huge unfinished one.
2. I Over-Engineered Too Early
I spent too much time trying to make the architecture “perfect.”
I kept reorganizing folders, abstractions, and services before I even had a working product.
Eventually I realized:
You understand the correct architecture after building, not before.
Lesson:
Get the product working first. Refactor later.
3. Billing Was Harder Than Authentication
I expected authentication to be the hardest part.
It wasn’t.
Subscription handling, webhook syncing, and keeping billing state consistent turned out to be much more complicated than I expected.
Especially handling:
- successful payments
- subscription updates
- cancelled plans
- syncing state to the database
Lesson:
Billing systems have a lot of edge cases. Keep them simple.
4. “Build It and They Will Come” Is Not Real
This was probably the biggest lesson.
I thought:
“If I build something useful, people will naturally find it.”
Reality:
Building was only half the job.
Distribution, content, visibility, and trust matter just as much as coding.
Lesson:
A product without traffic is invisible.
5. Shipping Taught Me More Than Planning
For a long time I stayed in “planning mode.”
But actually finishing and launching something taught me:
- more about architecture
- more about product thinking
- more about distribution
- than endless tutorials ever did.
Even though the project is still evolving, I’m glad I shipped it.
Final Thoughts
Building this starter kit changed how I think about side projects.
Instead of spending days rebuilding authentication and billing for every idea, I now have a reusable foundation I can iterate on.
Still improving it, but the process itself has already been worth it.
Curious:
What mistakes did you make in your first SaaS or side project?
P.S. While building this, I turned the setup into a reusable SaaS starter kit for my own projects. It includes auth, billing, dashboard UI, and Prisma setup. Happy to share it if anyone wants to check it out.
Top comments (0)