Learn How To Build a SaaS Product From Scratch

onTrustPilot logo

Building a SaaS Product Is Hard

There's a Lot to Build:

  • Secure authentication system
  • User interface design
  • Organisations, users and roles
  • Billing and payments system
  • API design
  • Email & communications
  • Writing tests
  • Security
  • Deployment
  • Plus lots more

In This Course You Will:

  • Learn everything you need to build a SaaS app
  • Level up your skills with industry-standard knowledge
  • Eliminate the pain of learning how to build a SaaS product
  • Learn by step-by-step code video walkthroughs
  • Create an Instagram-style photo-sharing app with React & Node.js
  • Speed up your development time building SaaS products

This Course You Will Not:

  • Overwhelm you with theory like a computer science degree
  • Teach you useless skills that you cannot apply to your own product
  • Use shortcuts, hacks or poor quality, buggy code

What's Included

25 Hours of Video

In-depth video tutorials walk you through each concept and line of code.

17 Modules

We'll cover everything from authentication to APIs, UI design and billing.

Experienced Instructor

With over 10+ years of commercial experience building SaaS products.

Downloadable Code

Get access to the Javascript code from each module, plus the complete codebase for the final SaaS product.

Practical Exercises

Each module focuses on building real SaaS features; you won't be overwhelmed with theory.

Working Product

The outcome is to build a full, professional SaaS product.
Try it out for yourself

Learn To Build This SaaS Product From Scratch

The Curriculum


Architecture of a SaaS Application

  • Understanding client & server
  • What is an API?
  • Understanding Model-View-Controller
  • Single or multi-tenant SaaS?
  • Features of a SaaS app
  • Application walk-through

Create Your Stack

  • Does tech stack matter?
  • Why use Javascript?
  • Which framework is best?
  • Setting up the project
  • Configuring the development environment

Data Modelling

  • Why start with data?
  • Relational or non-relational data?
  • Data modelling tools
  • Designing the data models for your application
  • Working with non-relational data

Controllers & Models

  • Scaffolding the models
  • CRUD anatomy
  • ORMs and query builders
  • Creating the controllers
  • Writing the models
  • Security considerations

Building a REST API

  • How an API Works
  • What Is a REST API?
  • Building the API
  • Global error handling
  • Throttling for security
  • Testing with Postman

Authentication Part 1 (Server-Side)

  • Issuing JWT auth tokens
  • Sign up and sign in flows
  • Protecting API endpoints
  • User roles and permissions
  • Creating scoped API keys

Email Notifications

  • Seting up Mailgun
  • Avoid HTML table hell with JSON emails
  • Allowing users to customise email settings
  • Sending email notifications to users

Authentication Part 2 (Client-Side)

  • Client authentication best practices
  • Client routing & private routes
  • Sign in and Sign up flows
  • Forgot password flow
  • Sign out flow

Bonus: UI Design School

  • Layout
  • Color
  • Scale
  • Typography
  • Iconography
  • Tools and resources

User Management

  • Understanding roles and permissions
  • Building a user admin UI
  • Building a user invite flow
  • The user sign up flow

Build a SaaS Billing System with Stripe

  • Anatomy of SaaS billing
  • Creating the billing UI
  • Adding a customer to a subscription plan
  • Upgrading & downgrading subscriptions
  • Updating the customer's credit card
  • Cancelling subscriptions

Creating a Profile Page With Photo Uploads

  • Creating the photo uploader
  • Storing photos in S3
  • Creating the public profile page
  • Designing a photo grid
  • Creating the photo detail page with comments

Building The Dashboard

  • Building a dashboard
  • Creating the photo metrics
  • Building a help view


  • Should you test?
  • Creating unit tests
  • Writing integration tests
  • UI & user testing

SaaS Security Practices

  • Keep packages up to date
  • Preventing XSS attacks
  • Content Security Policies
  • Understanding CORS
  • Database security

Deploying Your SaaS Application

  • Choosing a hosting platform
  • Configuring the production environment
  • Building a deployment pipeline

Next Steps

  • Advanced features to consider
  • Finding users for your app
onTrustPilot logo
  • "Gravity provided the foundation to jumpstart my SaaS product. The attention to detail, thoughtful approach, and creative inclination provided the most ideal outcome. In my capacity as a UX Lead at Apple I’ve worked with countless engineers — of which Kyle stands ahead of the pack. I hope to continue leveraging Gravity long into the future."
    Brad Bitler
    Designer at Apple & Rafters Founder
  • "I saved months of time with Gravity and was able to focus on my main features instead of writing tests, setting up Stripe, Mailgun and figuring out authentication. The Slack support has been invaluable. Not only is Kyle extremely responsive, but other members of the community have even helped me late at night! Building a SaaS as a solo founder can be lonely so knowing you have the support of Gravity is huge. I was able to build my app in 8 weeks instead of months and months."
    CrowdFox Founder
  • "The code patterns are beautiful, the code is neat and well organized. I have been able to do everything I would like to do, spend a little time optimizing, and then it's done. Gravity turned a major headache into many weeks of saved time."
    Dave Young
    Founder, Magnus Rush


By purchasing you agree to the terms & license agreement.

Already purchased the boilerplate?  Get in touch for a discount

Meet Your Instructor

Hi, I’m Kyle – I have been building SaaS products for a living for over a decade. My current venture is a SaaS boilerplate called Gravity, which has helped 400+ founders save over 180,000 hours. Previously, I launched 10 SaaS products; most failed but one reached $5m of sales. I was also a guest lecturer at Ulster University in Belfast, teaching software development and UI/UX design.

I’ve been programming for twenty years (since I was 10!) and work remotely from locations all around the world.

Want to know more?  Check out my recent Indie Hackers interview

Kyle Gawley – Gravity Founder