How and why I built Resume as an NPM package
About me
My name is Divyansh Tripathi (Silentlad). I've been developing Javascript Web Applications for 3 years now. I build unconventional projects in my free time and I love to code.
The problem I wanted to solve
I was bored with the lame old latex pdf resume of mine. So I thought I can geek out my resume by making it as a CLI application and wrapping it up as an NPM package and publish it for the recruiters.
What is Resume as an NPM package?
'silentlad' is an NPM package available for download to all the node.js developers which serve as my own portfolio or resume.
Just type 'npx silentlad' and know more about me.
Tech stack
I used Node.js as the development framework and Javascript as my language.
I also used NPM packages such as chalk and inquirer as dependencies.
The process of building Resume as an NPM package
I just organized all my personal information inside a JSON file and imported it into the main script. Thus I only had to edit the JSON for editing the app. I used Inquirer to make the CLI application as a prompt and answer application. Then I structured the questions in a way to let the user explore all of my resume easily.
Challenges I faced
Making the CLI application presentable yet making it accessible on all type of terminals such as bash, command prompt etc was a big challenge. So I used ASCII art instead of anything fancier. to make the CLI app geeky and presentable both at the same time. I also used CHalk.js for colourful prompt messages and decoration.
Key learnings
I learned how to make CLI menus which almost every scaffolding framework has. It also taught me a new way to interface with user i.e the terminal itself.
Tips and advice
Keep it simple and clear the console every time you need to display new information. In this way, the user gets a more authentic feel of a menu rather than a CLI app.
Final thoughts and next steps
You can add ASCII animations and ASCII art to show your logo or some relatable animation. That at least is the future scope for my repository.
Great idea, thank you!