Implementing Password Reset Using Email Links in My Placement Portal
Today, I implemented the password reset flow in my Placement Portal.
Initially, I considered implementing the traditional OTP-based password reset mechanism. However, after thinking from a student's perspective, I decided to go with an email link-based approach instead.
Why Not OTP?
OTP-based password reset is common, but it introduces additional steps in the user journey:
- Request an OTP.
- Wait for the email or SMS.
- Copy the OTP.
- Enter the OTP.
- Enter a new password.
- Submit the request.
While this approach works well, it also adds unnecessary friction when the primary goal is simply to help users regain access to their accounts.
For a Placement Portal where students may quickly need access to apply for opportunities, reducing mental effort and improving usability became an important design decision.
The Password Reset Flow
The new flow is intentionally simple:
- The student requests a password reset.
- An email containing a secure password reset link is sent.
- The student clicks the link.
- The frontend captures the password reset credentials from the URL.
- The student enters their new password and confirms it.
- The password is updated successfully.
- The student can immediately log in using their new password.
There is no need to manually copy and enter an OTP.
Why Email Links?
Email links offer several advantages:
- Fewer user interactions.
- Faster password recovery.
- Improved user experience.
- Reduced mental effort for users.
- Modern and commonly adopted authentication practice.
The objective wasn't simply to implement password reset functionality. It was to make the experience effortless for students.
Final Thoughts
Authentication is often considered a backend problem, but good authentication design is equally a user experience problem.
Sometimes, improving a product isn't about adding more features—it's about removing unnecessary steps from existing workflows.
The simpler and more intuitive the experience is, the more likely users are to successfully complete the task.
I'm documenting every engineering and architectural decision while building this Placement Portal in public.