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.




















