What's the best SaaS starter kit?

110 points by ochysp ↗ HN
I was contemplating Usegravity.app or Saaspegasus.com, I'm pretty open for the language, just want a solid foundation to go fast building my SaaS idea.

63 comments

[ 8.0 ms ] story [ 216 ms ] thread
Usegravity looks interesting - but the pricing page really made me stop taking it seriously.
Why? I know we live in a world of $0.99 apps, $12 training courses, and $15 web templates, but their pricing is still many times less than what you pay developer(s) to build the same.
I'm the founder of usegravity.app

I've been dedicated to this product for years and provide weekly updates, daily support and video tutorials. I can't do that for free/cheap hence the price. If I charged less, it simply wouldn't be sustainable for me to provide the current level of service and maintenance.

Also, paying a developer to build the same features and invest the time that I have is going to cost a heck of a lot more than $995. It's not just the development hours either, Gravity has been battle tested in over 300+ commercial products and iterated on hundreds of times to incorporate the feedback from those deployments in the field.

It wasn't the pricing model - when I went to the website originally all the pricing levels were the same - it looked like a template that hadn't been updated. I have no issue with charging for value.
https://jumpstartrails.com/

It's very polished. Kept up to date. Follows best practices for RoR. The author is one of the most active RoR community members.

https://excid3.com/

edit:

If you like PHP then https://spark.laravel.com/ is an official Laravel project. I haven't used it but I've seen discussions where folks recommend it.

(comment deleted)
A hard +1 to Jumpstart. I stan Chris a lot in the comments here, but Jumpstart combined with Hatchbox[0] is a pretty awesome mix to get started. Especially with the recent upgrades, the whole process of getting the framework up takes minutes.

[0] https://www.hatchbox.io/

Another +1 from me.

Also used Hatchbox in another project (startup w customers), it definitely was worth the money.

For fun and giggles: this is what happened when I wanted to quickly build a side project after not coding for a while (using jumpstart to go faster) https://twitter.com/ddccffvv/status/1430967157404340228

Spark is no longer really a SaaS starter kit. It's now just a payment provider they open sourced lots of the original Spark.
+1 for Jumpstart. I really like it is kept up to date. It also has a forum which is relatively active. Other do not have this.

I considered this too: https://www.getsjabloon.com/.

Is there anything similar to jumpstart for go?
Bullet Train (https://bullettrain.co/) is a good Rails saas starter kit. Their licensing is pretty reasonable (you can choose an annual $500/year plan or pay $1.5k upfront to get unlimited access forever). They also have a great community with a very active and responsive Slack group.
Another vote for BulletTrain here.. Andrew is amazing and support on the product. Been really happy with using it for my first SaaS
I don’t think the $1.5k option is unlimited or forever. I thought that only gets you the code and one year of support, no?
Curious if any of these are enterprise- ready, with KMS/BYOK, log shipping, tenancy, and SSO features required for fintechs, etc.
For price & ease of use, https://divjoy.com/ would probably be where I'd start. The community and support are great.

https://nodewood.com/ Is another option that I've come across. I've seen usegravity previously but the price is outrageous. As a developer I don't want to pay that much of a premium for stuff I could do myself. Saving a little bit of time, sure. But not at that price.

nodewood needs a favicon
I do, thank you for mentioning it!
RedwoodJs is great to get started quickly while still following great engineering practices
I have heard great things about SaaS Pegasus. The creator, Corey, seems to be dedicated and push updates pretty frequently. I have no affiliation with them, just things I've observed.
I think before you get a recommendation, we should discuss what it means to be a good starter kit. I hate mealy mouthed "it depends" answers, but in this case the context seems especially relevant.

In one sense, the starter kit represents a lot of work in front of you: you still have to learn how it all fits together and works, how it might be modified and so forth.

It is likely that you will do better if you are familiar with the framework so I am surprised to hear that the language doesn't matter.

Finally, you want it to embody best practices so that when you do learn it, you can be assured you're learning about the best security, performance and other standards.

So the recommendation should be: this is the best, if you know Rails, this is the best if you know Django, and so on.

The best starter kit is almost an example app that you can copy, so the closer the example is to the final app you have in mind, the less you have to modify it off the bat and the longer you will have to learn it.

One of the most important things when you start a company is to be able to communicate with your customers and get feedback on your product. That's why the first thing I would use is https://crisp.chat/ on my landing page
Do users actually use these chat widgets?

I sometimes see websites try them but I cannot remember a single site that kept it going.

If you have traffic, yes. I get hundreds of chats per day using the chat widget, some for support, some for pre-sales inquiries.
I used to have one on my contact page. In total I got 2 chats in the time I received 50+ emails. Totally not worth it, especially as for one chat I couldnt even reply before the user abandoned the page.
We have one in our app, I've been amazed how users have reported so many bugs, feature requests, and tiny issues through it. Chat widget was totally worth it.
I use them for support for various SaaS I manage at work. Really convenient for that. Use one or another maybe once every 2 or 3 months. I don't think I've ever used one on a site where I wasn't logged in, though.

I could maybe see using one on a pricing page or something like that, if I couldn't figure out which plan was what I needed.

Chat widgets instantly erode my trust of your site to zero, and if you're selling anything on that site there's a 90% chance you just lost my sale. It's gaudy, intrusive, and so often a contrivance from a user standpoint that I would never add something like that to my site. A simple contact page will suffice (and require less Javascript).
I agree if it is a slick ecommerce site. But I recently went to siteoly.com to check out the Google Sheet to website capability. The chat popped up and I was talking to the creator. In a minute we were on a video call and two days later he had taken my Sheet of 2,650 vendors and turned it into a website.
Or a button to open WA. It’s highly convenient.
I used to swear by chat widgets (Intercom). But after going full-time, I wanted to save money so it was the first thing I nixed. Over the years, I've found that email is much easier to use and is a high enough barrier to entry to stop most stupid questions and chat spam. And I got so many stupid and spammy questions that it really drove me to the point of never wanting to even check chat.

Also, I now wake up to a lot less people telling me to "fuck off." :)

Is it actually a good idea to start with a starter kit?

Or is it better to start with an empty Django project and add Stripe and whatever else you need?

I would think usually Stripe is the only thing you need to add to Django?

Stripe isn't trivial to add necessarily.

User management can be a pain too.

Both are fairly boiler plate.

You have a user system, admin system, teams, invites, payments, etc in a starter kit. Or you can build your own or glue together open source libraries.
> Usegravity.app

> 334 Businesses Powered By Gravity

> Web app boilerplate $995

So you can make $300,000 selling a boilerplate? That makes you think.

Some of the most popular templates on ThemeForest have netted the authors 7 figures
"I'm pretty open for the language" - with the greatest respect you should checkout the relevant cost per hour for freelance devs for various languages - I think you will fimd that PHP generally wins (regardless of its faults) once you start growing hiring staff you may find you've tripled your wage bill if you use something "cool" but not "common" eg Scala, Erlang, Julia etc etc
It is quite possible that an Erlang dev billing 3x more than a PHP dev will be more than 3x as productive.
Small story about that: I know someone that works in a small/medium company (~70 people) that started as a startup. The initial dev team was made of Scala devs, that used a microservice architecture. After a few years, Scala devs became too expansive for the company, so they slowly replaced them with PHP devs. The PHP devs weren't the best around, so they built a buggy and stateful monolith [1]. Now they are slowly switching to TypeScript with Nest and Next, again in a microservice pattern, with more experienced developers. They're trying to slowly replace the monolith (strangler pattern I think?). A few Scala microservices are still around, which takes an expensive dev to manage.

I don't have any conclusion about that story.

[1]: Important mention: "monolith" here isn't correlated with "buggy and stateful", you can build a stateless and bug-free monolith, just like you can build stateful and buggy microservices. It just happens to be the pattern they developed.

My web thoughts lately are: OpenBSD + Rust + sqlx crate + httpd (the one that comes with OpenBSD) + sqlite (or postgresql if there is significant known write contention) + slowCGI/fastCGI.

Maybe not as quick-starty as you want: some learning up front, but might pay for itself over time, depending on how often you want to re-do things for security or performance problems or frequent technology replacement needs. OpenBSD and associated tools seem to have far fewer zero-day or other security exploits than others, the CGI stuff I noted will probalby give great performance, and the Rust language has been written about elsewhere. Admittedly most of my experience is with OpenBSD as a desktop, and other web dev tools, but I'm learning in this direction.

Some possible resources:

https://learnbchs.org/

https://www.openbsd.org/

https://www.rust-lang.org/

I.e., I tend like things that will work well in the long run and relieve me from stack churn or dependency churn & related high maintenance or security headaches, with few or no technical limitations on what is possible.

Edits: for clarity.

If you can build it initially in a low code tool then I'd say do it. People think you're going to miss out on the foundational building stuff if you do, but also remember that the early days of building are where you accumulate most of the technical debt due to "i don't know what my customers want yet".

Tell me this. How much easier is it to reverse engineer a low code application you built than it is to decide all things that you're customers are going to want?

Makerpad is an excellent place to start this journey. https://www.makerpad.co/

What do you know the best? You shouldn’t pick a starter kit where there’s lots of magic going on because it’s the first or second time you’ve seen the language. That makes it way harder to extend well.
A fair amount of what's provided is user registration, authentication, authorization. You might consider if you need the other stuff that comes with these starter kits. If not, something like Auth0 might be a better match.
Creator of https://www.saaspegasus.com/ here.

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!

+1 for SaaS Pegasus. In particular, Cory has done a wonderful job in introducing a more pragmatic approach to Javascript with Django [0]. Plus he's built a strong Slack community and is always around to support and listen to any feedback.

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...

+1 for saaspegasus.com as well - especially if you're looking to use django. i was looking for stripe integration and chart functionality, and really needed python as it was pretty much the only language i knew.

i would say its pretty easy to use, and the examples have helped me learn React functionality. good community that provides a lot of help, and cory (creator) is very responsive when i have needed help.

i don't have any experience with the other products mentioned here, so can't be of help there. i would guess you want to figure out your language first, before deciding which template to go with.

to consider: Stripe integration can be a little complicated to tackle on your own, so if that's a big part of what you are trying to do, i would recommend using a template. not much money and billing is probably not something you want to mess up.

Another happy customer of SaaS Pegasus! Got me up and running quick and features are constantly being added.
If you already have customers and need to bring in some foundation for billing, yeah, a kit might be worthwhile to save some time. But when I've seen this question asked previously, it's usually before the asker has customers.

In the case you don't have customers, you can often get away with the following for an MVP and it won't take you more than an hour or two:

  1. Update your org model (`account`, `company`, `organization`, or `user` object) to have an `active` attribute that indicates if they've "subscribed" or not
  2. Create a `subscriptions` table that references your org model
  3. Create an `invoices` table that references `subscriptions` and whatever your org model is, a `total_cents` column, a `issued_at` column, a `due_at` column, a `stripe_charge_id` column, and a `paid_at` column
  4. Hook this up to Stripe with a simple callback: update the `paid_at` column and the `stripe_charge_id` column
Spend 20 minutes the first day of each month manually create these `invoices`.

It really doesn't need to be more than that. Once you have customers, you'll have a good reason to invest more time into billing.

(comment deleted)
Founder of https://divjoy.com here. There's a lot of good options mentioned in this thread. Divjoy offers a fair amount of customizability prior to code export, allowing you to pick CRA or Next.js, specific CSS framework, Auth0 or Firebase, and other technical options. Give it a try if that sound appealing :)
For:

* Django → SaaSPegasus has been great. It has a nice (optional) coupling with React. I just signed up a couple days ago and the community is supportive and the out-of-the-box functionality is pretty solid

* React → DivJoy: everything Gabe builds is top notch. It's loaded with high quality integrations. If you're focused on React, this gives you a lot of customization and power.

* PSQL/GraphQL/React → Postgraphile Starter. Pretty amazing if you're willing to take a database-first approach (fully typed end-to-end system in GraphQL, Typescript, React, Next, Postgres) but make sure you know PSQL functions and are willing to track biz logic in a schema.sql file (or use plugins).

* Also checked out Blitz and Nodewood (both look cool). I looked at Bedrock, but couldn't figure out if it was actively maintained/updated (messaged the owner for a version history but never heard back.)

Hi, author of Nodewood (https://nodewood.com/) here!

Thanks for bringing it up!

I'm actually in the middle of a pretty big revision of Nodewood from Vue 2 to 3 (you would not believe the number of packages that were abandoned at Vue 2 and never updated to 3, it's like Python 2->3 all over again), but then I'm planning on doing another big blitz with it.

I'd hope you come and check it back out again when that goes live!