- Start with SaaS Pegasus https://www.saaspegasus.com/
- Deploy to Heroku
- Get comfortable with "X-in-HTML" frameworks - Tailwind, HTMX, Alpine
- Deliver your mobile app as a PWA https://web.dev/what-are-pwas/
Opinionated thoughts -> https://davidkell.substack.com/p/davids-opinionated-guide-fo...(Nowadays I'd replace Turbo/Stimulus -> HTMX/Alpine)
Special thanks to Cory for his excellent guides on Django + JS: https://www.saaspegasus.com/guides/
That said, all of the popular boilerplates have been created by individuals or teams who are passionate about their frameworks (in my case Django) and have significant experience building products on top of them (in my case 10+ years). All of them will drastically reduce your time to MVP and likely be a better foundation than you'd author on your own.
I actually would choose a language/framework first and then choose a boilerplate based on that. The boilerplate will get you far, but ultimately you're still going to be doing lots more dev in the framework, so you should pick one you like. Django and Rails and to some extent Laravel are comparable - mature frameworks with lots of batteries included, mostly server-render HTML by default. JavaScript is its own separate beast with a more fractured ecosystem, but tighter integration with the front end. I'm obviously biased towards Python because it's a wonderful language to work with and has a great community and third-party package ecosystem. But honestly, any of these are great choices and will help you launch your first product way faster.
There's a huge list of SaaS boilerplates broken down by language available here: https://github.com/smirnov-am/awesome-saas-boilerplates
Good luck!
- Cory’s writing on low JS alternatives to single page web apps was game changing for us. And that’s all built in. 10x faster to develop.
- You get access to a wonderful community of Django devs. Any question gets 3+ independent responses.
- The framework is non-opinionated. You get the same examples in both HTMX and React + APIs, many versions of CSS frameworks (Bulma, Tailwind, Bootstrap), multiple deployment methods, etc. This gives you a valuable toolkit to fit your solution around the needs of the problem.
I'd be thrilled to have you as a customer, and very happy to answer any questions you have about the Pegasus product, community, etc.
Almost all of the popular boilerplates mentioned here have been created by individuals who are passionate about their frameworks (in my case Django) and have significant experience building products on top of them (in my case 10+ years). Many of us - including myself - are now full time on our products. So you're getting hundreds of hours of work "done for you", plus a steady stream of updates for the cost of what would typically amount to a few hours of our time as a freelancer. But I guess you're already sold on the idea of a boilerplate.
Anyway... my point is, you can't really go wrong as long as you pick one that's backed by someone who is a) experienced, and b) committed. And that's true of myself, Kyle (Gravity), Gabe (DivJoy), Andrew (Bullet Train), Chris (Jumpstart), etc.
You said you're open to the language, but in all honesty I'd say that's the most important decision criteria. Django and Rails and to some extent Laravel are comparable - mature frameworks with lots of batteries included, mostly server-render HTML by default. JavaScript is its own separate beast with a more fractured ecosystem, but tighter integration with the front end. I'm obviously biased towards Python because it's a wonderful language to work with and has a great community and third-party package ecosystem. But honestly, any of these are great choices and will help you launch your first product way faster.
Good luck!
We re-built our SaaS product using this boilerplate and wrote about the experience [1]. TL;DR: would recommend!
[0] https://www.saaspegasus.com/guides/modern-javascript-for-dja...
[1] https://davidkell.substack.com/p/davids-opinionated-guide-fo...
I don't know that there's one best choice for how to render the front end. I generally like Angular because it's strongly opinionated, and in general, strong opinions in software leads to faster velocity and lower TCO. But I don't think that Angular is the universal best choice. I do however think having the front end powered by a REST API is 100% the right move, because it draws a line in the sand where if private data or incorrect data are getting returned then there is clearly an issue. Having a specific place (the JSON response) where you can write tests against is a huge win, one big enough that imho it outweighs every possible disadvantage of REST.
To be honest, I was surprised that you advocated writing so many tests for each view, easily 10-20 per view.
Part of the beauty of Django's various class based interfaces is that you can be confident that if you add a validator to a model field, then it will be validated by the corresponding ModelForm in the corresponding CreateView.
But then again, you advocate against OOP in python including CBVs. If you do write all your endpoints as functions, it makes more sense you need to test it because it's easy to forget to include a line of validation or whatever it is.
FWIW I love the fact that various Django classes are like DSLs. DSLs are less powerful by construction, so less buggy. It is almost like using low-code. But I do see your point about tracking inheritance and control flow, it can be a challenge at scale.
Definitely try something like Python + Django, Ruby + Rails, Java/Kotlin + Spring to get a feel for what a mature framework can really do.
Then if you find you still don't like frameworks and the style of programming associated with them then sure, find a home in one of the ecosystems that are more inclined to roll it your own way.
Frameworks certainly aren't for everyone but using bad frameworks and then pretending all frameworks are therefore bad is highly prevalent among more recent developers. Try the good ones and then make up your own mind.
Lack of a decent Rails/Django option for JS/TS is part of the issue IMO, since that ecosystem is so popular atm.
I also wonder if you have to get burned a few times rolling your own and that's just part of the journey :)