May 30, 2020

User signup flows take waaay too much time

Dan Bar-Shalom @Danbars

After integrating with Auth0 I've found that it was too complicated to work with - it has too many features that I don't need.
I decided to replace it with Google Firebase Authentication which I found to be very easy to work with, and for me it has the benefit of a vendor I'm already working with (I'm using Serverless Functions for Chart generation)
Integrating with Paddle (for payments / subscription management) was literally 15 minutes work. You create the plans that you want on their webapp, and call one js function. You then get a webhook after the user pays.
I had to play with the UX of signup flows though. I was pondering between 2 options:

  1. pay (Paddle) > email verification > choose password / social login (Firebase)
  2. Signup email+password / social login (Firebase) > pay > email activation not mandatory

I ended up with the second option because:

  1. Firebase can handle email verification automatically (not possible with option 1)
  2. I felt that it's more fluent for the user to start with standard signup rather than with payment

I also had many thoughts what should be the payment model during Beta. I ended up with a suggestion that came up here in IH (sorry, I don't remember by whom). I charge $1/month during beta and then you get 70% off for lifetime afterwards. The reason is that I want to validate that people are willing to pay for the product, and also I believe that feedback from paying customers is different from feedback from free customers.
Free tier is available without registration.

Few more things I did during that time:

  1. Complete redesign of the homepage based on feedback that I got
  2. Keywords research
  3. How-to guides to show how to use the product in different use cases.
  4. Gallery page to show different chart designs with real data

The goal for this week is to release all of that. I didn't do it till now because the user flows go through the charts editor and the site. I can't release it before all the flows are complete.