The sky above the ocean A grayish-blue cloud Another grayish-blue cloud A ship hovering a few feet over the surface of the water, bearing a flagpole with the Sails.js logo The shadow of the floating ship on the water

A new Sails app.

Dive in

This is your freshly-generated project + a few extras.

In our time building apps for customers, we've found ourselves re-rolling some of the same key features over and over again between projects. So we picked some of the things that kept popping up, implemented our own opinionated solutions for them, and then included it all in this free and open-source starter app. We hope it helps you as much as it helps us!


Built-in support for internal emails from the contact form, as well as transactional emails for users.


Ready-to-go, customizable sign up, login, and password recovery flows for your users.


Hook up to your Stripe account for managing customers and payment sources.

Learn more

How to get started:

computer with email symbol on screen
Set up your branding and content

This starter app includes several different page templates (including the one you're reading right now) that you can change as much or as little as you like. If there are any pages you won't need, just remove them.

To get started, open up your config/custom.js file. Where you see platformName: NEW_APP_NAME, replace NEW_APP_NAME with the actual name of your app or platform (e.g. “Facebag”). Similarly, where you see platformCompanyName: NEW_APP_COMPANY_NAME, replace NEW_APP_COMPANY_NAME with the actual name of your organization (e.g. “Facebag Corporation”).

computer with credit card icon on screen
Configure integrations

In order for this app to send automated emails, you'll need to create a Sendgrid account. Then, in config/custom.js, configure the following:

// Recipient of contact form messages

// For outgoing emails
fromEmailAddress: '',
fromName: 'The The VREasyWait Team Team',

// Sendgrid settings
sendgridSecret: 'SG.fake.3e0Bn0qSQVnwb1E4qNPz9JZP5vLZYqjh7sn8S93oSHU'

To enable support for billing features, you'll need to make a Stripe account, then include your test credentials like so:

// Stripe credentials
stripePublishableKey: 'pk_test_Zzd814nldl91104qor5911gjald',
stripeSecret: 'sk_test_Zzd814nldl91104qor5911gjald'
If your app doesn't need payment processing, it will still work without Stripe configuration. In this case, all references to billing will just be omitted from the UI.

Let's get to work.

We think this project is a pretty convenient starting point, but of course there's no one-size-fits-all solution. The good news is, this app is in your hands now, so you can jump into the files and adapt it to your needs. Change some code around. Break stuff. Fix it. And above all: make something people want to use.

The Sails Team