I built several signup flows, and ended-up building a passwordless signup flow for Beanvest I'm pretty happy about. Here are some tips and ideas to build a smooth SaaS signup flow.
Only ask for an email address
When a user creates an account for your SaaS, you need only one information : an email address.
Asking only for an email reduces friction a lot. If you need additional information, ask for it later. Even a password can be required only after being logged in.
Have your signup form on your homepage
Why ask user to click multiple times when you can put your signup form on your homepage? And now that you only ask for an email address, it's really easy !
Block throwaway emails
You should block throwaway emails, and the good new is I built an open-source lib just for that!
Here it is: Email Validation. It has a list of more than 10K freemails, disposable and temporary email domains you could block, with many options.
Ideally, show the error message before the user hits the submit button.
Merge your login and register
When a user tries to create an account with the login page, don't show an error message but simply create the account.
If he uses your sign-up to log in, simply connect him.
And once again, it's easy because you are only asking for an email.
Remove passwords entirely
Instead of asking for a password, send an email with a link (a "Magic Link"). When the user clicks on it he is instantly logged in.
Bonus: you don't need a "reset password" page anymore.
I really like passwordless logins, but it's true that it can sometimes be annoying to some users. If you do it, you could also add some
Give instant access after signing up
Don't require the user to verify his email a second he creates an account.
Instead, connect him and show him an alert message asking to verify the account in the next X days.
After the delay, don't kick him out. Just make the message full-screen.
Prefill user email after logout
When a user logged out or has his session expiring, your can prefill the email to save users some time as they won't even have to type anything!
Just save the last used email in local storage prefill when they try to reconnect.
Here's how it looks like:
I tried to create the perfect SaaS sign-up flow but I know this is not flawless. However, I hope this can give you some food for thoughts about what you could try for your own SaaS.