June 30, 2026
NERD
I’ve been watching a TV show “Mr. Robot” since last week, and it’s my second time I’m watching this show. I love this show, this show…

By Muhammad Bilal
3 min read
I've been watching a TV show "Mr. Robot" since last week, and it's my second time I'm watching this show. I love this show, this show inspires me, motivates me, encourages me. I feel connected to this show, like Elliot, I find myself to be an introvert too. I hate to argue with people, I live in my own world, and just like Elliot I'm interested in cybersecurity.
There is a scene in Mr. Robot where Elliot hacks Michael Hansen _(Elliot's Psychiatrist Dr. Krista Gordon's Boyfriend). F_or that, Elliot run a script to generate password wordlist, that triggered me. When first time I watched this, it was totally entertainment but this time when I'm learning python, it hit me that how can I build my own tool to generate wordlist based on user information? When I did little bit research there are also many tools available on Github, and most famous tool is CUPP. It's a mature and well-known tool, but instead of using existing tool I tried to create my own version.
I spend entire month on practicing python, at start I created small scripts basic recon simulator, port scanner, firewall simulator and many others. But this time I challenged myself to think out of the box and build my own version of CUPP. A tool that generate password based on user provided information.
On 24 June 2026, I started programming my tool. I spend almost two days on building the blueprint of tool, there are a lot of questions which blowing up my head like how user interact with this? how will this tool respond? how will this generate password? how will password combination works? how will it save password? and many others. I failed a lot, faced too many errors, I never ever face errors like I face this time.
After spending two days and a lot of failure I finally see some success in my mission. The tool started to generate basic combination. Now times come to go hard on it, I started to research, read documentation, articles and program my tool. Today finally I completed version 1.0 of the tool.
I discuss idea of tool with my friend and he called me "nerd", he say when there are many tools already exist then why need to create new. But my thinking is to enhance my python skills and understand the workflow through creating not just using someone else tool. So I named this tool "NERD" based on my friend's opinion of me. You can find the source code on Github if you're curious.
Version 1 is basic, it asked user information (first name, last name, nick name, date of birth, mobile number, country, city, pet name, partner name, child name, and anything extra favorite movies or shows or ID number) and based on this information, the tool performs. First, the tool create different variations (lowercase, uppercase, capitalize) of important fields like first name, last name, nick name, pet name.
After that it split important fields into prefixes like if first name is "Bilal" then it split into "B, Bi, Bil, Bila, Bilal) same for other important fields. Then the tool splits numbers (date of birth, mobile number, id number, social security number and other common numbers). After this tool add symbols and generate different combinations and store them in txt file.
For now tool is generating almost 200K+ password which is quite a lot, But this is just initial release, I'm continuously updating the code and trying that tool generate most accurate password and reduce the total numbers of passwords so it will become easier to figure out the right password. You can share your ideas to improve this tool at my email "heyyitswhite@gmail.com".
My goal was never to replace CUPP or claim that NERD is better. This entire process is just for learning new concepts and doing experiments. During this experiment I fight with bugs and error and actually that help, I have full control to try AI tools (Claude, ChatGPT, Gemini) which can create far better than what I built. But I did everything my own by following simple formula "Fail, Fix, Learn" and it worked I learned a lot through every design decision — from collecting user information and generating word variations to building password combinations, removing duplicates, prioritizing likely passwords, and organizing the output.
NERD is not the only tool that I've built. Before this, I've create several other tools and automation scripts (firewall simulator, recon simulator, keylogger, image compressor any many others). I'm documenting my journey in a github repository called PyVerse, where you can find files source code and resources from where I learn.
Version 1.0 is only the beginning, and I'm excited to keep improving it as I continue my journey toward becoming a penetration tester. If you have ideas, feedback or just want to say hello, I love to hear from you. Thanks for reading.