샨무카 Shanmukha

Password Strength Checker

A full-stack application that evaluates password security in real time, detects breaches, and provides actionable feedback to users.

Screenshot of the Password Strength Checker application

The Challenge

Weak and reused passwords are one of the leading causes of data breaches. Most password strength meters only check for length or complexity, ignoring whether a password has already been compromised in known leaks. Users need a tool that not only rates password strength but also validates its safety against global breach databases.

The Goal

The goal was to design a responsive, secure application that empowers users to create strong, breach-free passwords. By integrating real-time strength validation with external APIs, the application ensures users have immediate, actionable insights into their password security.

The Approach

Discovery & Planning

The problem definition centered around two main issues: password strength evaluation and breach detection. I planned a solution that combined both into a single user-friendly tool.

Design & Prototyping

I created a minimal, responsive UI where users could input passwords and immediately view strength feedback. Special attention was given to accessibility and clear visual indicators for weak vs. strong passwords.

Development & Technology

The backend was built with Node.js and Express.js, while the frontend was developed in React.js for real-time interactivity. I integrated the HaveIBeenPwned API to check if passwords were found in known breaches.

Key Features

Real-Time Strength Validation

Instant feedback as users type, based on complexity rules (length, characters, diversity).

Breach Detection

Integration with the HaveIBeenPwned API to detect compromised passwords.

Actionable Feedback

Suggestions for creating stronger, unique passwords.

Secure Data Handling

Ensures user privacy by never storing input passwords.

The Result

The application successfully provided a comprehensive solution for improving password security. Users were able to not only test the strength of their passwords but also ensure that they had not been exposed in any known breaches.

What I Learned

This project taught me the importance of integrating external APIs into full-stack applications, handling sensitive user input securely, and designing interfaces that balance usability with security. It was a key milestone in advancing my skills in security-focused web development.