~ 2 min

What should be in your SaaS starter kit?

#saas #django

If you are a developer working for a web agency or a freelancer with too many requests to build SaaS and not enough time, I bet one of your dreams is to build a starter kit with most of the generic features already included to save you some time.

This dreamy boilerplate would give you all you need to start, allowing you to start writing business logic in 5 minutes. instead of re-implementing authentication, emailing, ... like you did so many times before. As a bonus, it should provide you with the means to build your project as fast as possible.

Car engine
From [source](https://unsplash.com/photos/Z5U6tCMN-vU)

Such starting kit should include:

  • A gorgeous layout with common components (inputs, buttons, typography, ...) based on a popular CSS framework (Bootstrap, Bulma, tailwind, ...). Ideally, this layout should already be slightly customized to avoid looking "bootstrapy" and should be easy to override to make it look like the fancy template provided by the designer. The layout should be responsive if it makes sense;
  • Basic/common pages: landing, pricing & subscriptions, about, privacy policy, contact page, FAQ, ...
  • Integration with a mailing service like mailgun, to send emails;
  • User management (Login, registration, profile page, email verification, password recovery workflow and/or OAuth);
  • Invite system so your current users can invite others to the platform;
  • If you don't plan to let everyone enter at the same time, then a gatekeeper might be useful too;
  • Integration with a stripe to accept payments and a billing system if you do so;
  • CRUD scaffolding to build your CRUD as fast as possible. If you've never seen this, look into ruby on rails;
  • Backoffice/dashboard so a super admin can manage day-to-day situations. If you build this with Django (and I will), you already have a very good starting point for this;
  • If your users need to work in teams (something like google drive), then you'll need multi-tenancy support. Once you build this, you'll also need a system to handle permissions and security;
  • General documentation of the project and documentation of the API (if you have one - look into sagger and open API);
  • Docker support to build the project and docker-compose for the development environment;
  • Real-time chat in case you need to provide live support. You can build this or integrate a service like Intercom;
  • Analytics, reporting, tracking and other third party integrations that might make sense for your product (google analytics, segment, rollbar);
  • A/B testing, newsletter support, affiliate tracking for marketing purposes;
  • An onboarding workflow so your users can feel welcome to the platform and avoid being lost;
  • Complete test coverage (unit and integration testing);
  • Workflow to automate the creation of demo accounts for demonstration purposes.

I realize this list is extensive and while some features are essential, others are just nice to have (or will be needed only down the road). In the end, you probably won't need all of it, so pick only what you need to start building!

I'll periodically update this list to add new features but if you already know what I missed, let me know!

Subscribe to the newsletter

As a full-stack web developer I write about both the backend and frontend. If you liked what you read and want more, subscribe to my newsletter and I'll be sure to let you know once I release new articles.

I hope you like it! Share it with others who could enjoy it too.

Related posts

If you liked this post and want to read more, take a loot at these: