PassGentool: A Secure, Customizable Password Generator Built with AI and Modern Web Tech

In today’s digital-first world, strong passwords are the first line of defense against unauthorized access. While many people reuse weak passwords or rely on built-in generators, I wanted to build something better—something that puts security, customization, and clarity in the user’s hands.
That’s how PassGentoo was born: an open-source, customizable password generator built using React, TypeScript, Tailwind CSS, and the Web Crypto API—and yes, co-built with AI tools like ChatGPT to speed up development, design secure logic, and write clear documentation.
PassGentoo is now live on a custom domain via AWS Amplify and Route 53, offering full HTTPS security and DNS-level control.
Note : This is the initial stage launch soon there will be login , auth , passoword storing functionality too
🛠️ Tech Stack Overview
Here’s what powers PassGentoo:
React + TypeScript: For building robust, component-based UIs with type safety.
Tailwind CSS: Utility-first styling for rapid, responsive design.
Vite: A blazing-fast bundler for development and optimized production builds.
Web Crypto API: For cryptographically strong random values generated securely.
AWS Amplify + Route 53: For hosting, DNS, and HTTPS deployment.
🤖 Why I Chose to Build This With AI
I used AI tools like ChatGPT throughout the development process—not as a shortcut, but as a collaborator. From brainstorming UI decisions to understanding cryptographic APIs and writing real-time entropy logic, AI helped me:
Understand best practices in secure random number generation
Structure my frontend for maximum performance and readability
Break down complex concepts like entropy and crack-time estimation
Write this technical blog and improve my documentation quality
Instead of guessing, I could ask AI-specific technical questions and use that knowledge to implement and refine code on my own terms. This approach helped me learn faster and build more confidently.
🔐 True Randomness with window.crypto.getRandomValues()
Most people don’t realize how critical true randomness is in password generation. Weak randomness = guessable passwords = broken security.
That’s why PassGentoo uses window.crypto.getRandomValues()
—a browser-native method that pulls random bytes from your device's OS entropy pool, offering cryptographically secure randomness. This is much stronger than Math.random()
, which is deterministic and not secure for sensitive applications.
const entropy = new Uint8Array(1024);
window.crypto.getRandomValues(entropy);
This creates an entropy pool of 1024 bytes—plenty to securely generate multiple passwords in a single session.
🧠 Why Entropy Matters
Each byte has 256 possible values (0–255), giving us a high level of entropy. High entropy ensures that each password:
Is unpredictable to attackers
Cannot be guessed or brute-forced easily
Respects OWASP-recommended security practices
This client-side implementation means nothing is ever sent to a server, and all logic runs locally in the browser for maximum privacy.
🎛️ Key Features
Adjustable password length (12–64+)
Toggleable character sets (uppercase, lowercase, numbers, symbols)
Exclude visually confusing characters like
l
,I
,0
,O
Option to generate pronounceable passwords for better usability
📊 Real-Time Strength Feedback
PassGentoo also includes a real-time password strength analyzer:
Shannon entropy calculation (in bits)
Estimated crack time based on real-world attack models
Color-coded strength meter (weak → strong) with live updates
This helps users understand the real-world implications of their password choices instantly.
🌐 Hosting & Deployment
I deployed PassGentoo at passgentoo.cloudkinshuk.in using:
vite build
for production-ready outputAWS Amplify for fast static hosting
A custom domain purchased via Hostinger
DNS setup via AWS Route 53:
A records → Amplify endpoint
NS + CNAME → custom subdomains
SSL/TLS enabled via AWS for HTTPS security
📚 What I Learned
How to integrate the Web Crypto API securely
How to create a balance between usability and security
How to structure modern frontend apps with Vite, React, and Tailwind
How to set up a full DNS + HTTPS pipeline on AWS
How to document projects cleanly with the help of AI-generated explanations
💡 Why This Matters ?
Whether you’re a developer or an everyday user, generating secure passwords shouldn’t be hard—or feel like magic. With AI as my assistant and mentor, I built a tool that’s both functional and educational.
🔗 Live Demo | GitHub Repo || Portfolio || CheckSEOHere
I invite you to fork, customize, or extend PassGentoo in your own way. Use it, learn from it, or just explore how security can be practical and transparent.
✅ Built by Me — With Guidance from AI
This project reflects my evolving journey in tech, supported by AI tools that helped fill knowledge gaps, explain security principles, and write production-ready code.
I didn’t use AI to avoid learning—I used it to learn faster, build better, and ship smarter.
Let’s build more ethical, open, and secure tools for the web. PassGentoo is my small step in that direction.
Subscribe to my newsletter
Read articles from KINSHUK JAIN directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by

KINSHUK JAIN
KINSHUK JAIN
✨Likes to Build and scale amazing stuff .. 🌐 checkout my site : https://cloudkinshuk.in 📝 checkout my blog : https://blog.cloudkinshuk.in Link 🖇️