This report presents the results of a root cause analysis project that I completed during my tenure at Vested Finance. The project details the resolution and improvement of an initial issue that was reported by users.
problem
User drop-offs in the authentication flow (Signup/Login)
Users were getting locked out of the system, or so it seemed in some cases.
AWS Cognito was partially implemented. Not all potential use cases of user flows were addressed during initial implementation. This lead to users being confused and not being able to access the platform in some cases.
Since, Vested Finance provided whitelisted solutions to their partners it meant, the partner users also faced the same problems.
problem discovery
Mixpanel - At Vested Finance, we used to continuously monitor each and every flow of the product.We discovered a considerable drop-off in users visiting the signup and login page, compared to users who successfully created an account and logged in to access the platform.
Support Team - The product team was informed that there was a rise in users raising support tickets about not being to access the Platform during Bi-weekly Product<>Support Syncs. Earlier support teams use to help and guide users through the flow or reset their password in case users were blocked after they exhausted their maximum login attempts.
Partners - During Partner syncs, it was also highlighted that some of their users had raised tickets that they wanted to directly use the Vested Product but could not access it. (Most partners didn’t have a native Android and iOS app integration)
customer problems
Partner Users were trying to log in directly on the Vested Finance app instead of the partner app. Since the tables in the database for these users were different, users were not able to login into the app. In case the users tried to signup there was an error, which only stated “unknown error”, which left users confused. (Though all user databases were with Vested Finance, some partners didn’t want their users to leave their platform and use Vested Finance’s app independently.
Accounts of dormant users who were inactive for over a year were deactivated since Vested Finance had to pay fees to DriveWealth (Broker for US Stocks) to keep accounts active. Returning users would see an “account does not exist” error, which confused them.
Users trying to login with methods (email, facebook, twitter, google) other than they had used to signup with, would see an “account does not exist” error.
Only one partner had integration via API, the rest of them had a direct whitelisted website. In about 80% of the cases, partner users were able to access the service only from the web or m-web.
Vested Finance was using Cognito Hosted UI, which opened a new tab in the browser for user authentication, with Cognito’s proprietary UI, which some users were skeptical about.
the team
1 Designer
Yash
1 PM
Me
2 x QA Engineers
Siddarth & Apurva
1 Full Stack Engineer
Srikanth
1 React Native Developer
Kishore
the process
Gathering the Data
Connected with CS teams who handled these tickets and learned how these issues were resolved. Documented these issues to share them with the rest of the teams.
Got a list from the CS team, of users who faced this issue and talked to those users to understand their pain points.
Got the event analytics from Mixpanel and the type of tickets raised + their numbers from Zendesk and Intercom.
Brainstorming the solutions
Talked to partners and stakeholders (Business Head + CXOs) to come up with the scope of these issues. (De-linking and deep linking, Mobile Number Authentication)
Documented the information and list of issues, the scope and the possible solutions that I had in mind. Shared the Documented issues and the cases we had to solve for with the stakeholders.
Started working on the PRD when the designs were finalised.
Documentation and Team Onboarding
Once the PRD and designs were finalised, gave stakeholders a rundown of the solution, the scope of the project and how it was divided in the sprints.
Had a sync with developers and QA engineers and shared the designs and PRDs with them.
The Full Stack developer had to check on the possibilities of using our own UI and mobile number with AWS Cognito service.
The Full Stack developer created an EDD and got it reviewed by the Engineering Manager.
Once the developer completed the EDD, The QA engineers started work on the test cases. And parallelly, I started work on documenting new analytics events.
Once the test cases were ready, I reviewed them and then shared them with the dev team.
Once all the documentaion was completed, I had a sync with developers and QA engineers and shared the Designs + PRDs + Test Cases + Events Sheet, with them.
Implementation
Once Amplify integration and the backend changes were complete the Full Stack Developer started working on the front end and had a sync with the React Native developer for the mobile app.
Once all of the development was complete, the developers did the first round of testing.
This was followed by testing rounds on 4 different environments by the QA engineers and me.
The testing consisted of testing each and every flow, the design and the events hit on Mixpanel.
Once everything was checked for quality, the code was merged with other ongoing development tasks for that sprint and released to production.
the solution
/ The Facelift
OLD
NEW - NATIVE
NEW - mWEB
OLD
NEW - NATIVE
NEW - mWEB
/ Errors Resolved
Deactivated
Different Login Method
Partner User
User not verified
IMPACT
User drop-offs in the authentication flow (Signup/Login)
Customer Support Team - Checked with the team after 15 days and 30 days interval.
Analytics Tools - Mixpanel, Zendesk and Intercom
Number of tickets raised for authentication issues was reduced to less than 5% of the original ticket size.
Signup page visits to signup conversion increased to 2:1.
the follow up
Worked with few partners to give direct access to the app.
Deeplinking solution was created and users were encouraged to use Vested’s mobile app.
other solutions for the future
Allowing all partners to login and use the app and vice-versa. (Only few partners opted-in after a discussion)
Adding mobile number login/signup with truecaller SDK.