5 ideas for personal projects using vanilla javascript
Published: 2020-09-02 20:58:03

Building personal projects is one of the must-have habits for any developer, but a big question appears for many developers that make the process stop: **What project am I going to do?**

If your objective is to create a new personal project to improve your technical skills, the project doesn't have to change the world or be useful to other people. Your project needs to change your world of possibilities and be useful to your technical background improvement.

> **Tip:** Spend time thinking in names or other side things that don't help you to improve your skills. 

> For tips and tricks, I recommend my last blog post about: [How you can stay motivated to work in personal projects.](https://dev.to/afonsopacifer/how-you-can-stay-motivated-to-work-on-personal-projects-565a)

# Cool ideas

Okay, let me show you some ideas for cool projects you can do with pure javascript to improve your technical skills.

## A web framework for creating Back-End API's

Start an HTTP server, handle all request types, and send the correct response to the client.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/0dvo9ckjy9hvnmyevnw2.jpg)

This is good for learning how the Node.js works with **web applications under the hoods.**

## A front-end Single Page App

Fetch and replace a piece of code, recreate the browser workflow using the history API and improve the application performance.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/08jr9xufjreuycapvn9g.jpg)

This is good for understanding the **default browser experience.**

## A Command Line Tool (CLI) to control your GitHub account

Run your application only in the CLI, add parameters for fetch data from Github API and show them.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/tq0anqc7honz6xkmfsuw.jpg)

This is good for learning how the Node.js works without a web server and how to **integrate it with the operational system.**

## A Chrome extension boilerplate

Create a chrome extension is cool, but the answer for: What extension should I create? Is hard. 

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/6at8nwcuzzwclat8557x.jpg)

My tip? Create a todo app and extract the core files and concepts to a new repository. When you have an idea, reuse the boilerplate and save time.

This is good for learning about **DOM.**

## A Github Chat Bot

Handle inputs, process your data, and respond like a real user.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/ivq8t541x2516e62i12n.jpg)

This is good for understanding **APIs integrations.**

# The gold rule

At this point, you may be probably asking yourself: **What do I need to learn to start any of these projects?**

Enjoy all content created by the javascript community around the world. Search for: "How you create a *[complete here]*", open 2 or 3 tabs in your browser, read/watch and just start the code.

Follow the tutorials to get started! When you become more confident, implement your ideas.

# The real gold rule

If you can't understand anything in your search, don't worry, **you probably need to take a step back and learn the basics.** It's normal for developers at all levels. If you feel lost when learning any new content, don't give up. Keep calm, ask the community and restart.

I found a list of resources to help you when creating the projects suggested in this post:

- [How you can build your own web framework for Node.js](https://dev.to/itnext/how-you-can-build-your-own-web-framework-for-node-js-19e3)
- [Build a Single Page Application (SPA) Site With Vanilla.js](https://blog.jeremylikness.com/blog/build-a-spa-site-with-vanillajs/)
- [How to build a command line tool with nodejs a step by step guide](https://dev.to/dendekky/how-to-build-a-command-line-tool-with-nodejs-a-step-by-step-guide-386k)
- [Extend the Browser: Getting Started Tutorial](https://developer.chrome.com/extensions/getstarted)
- [How To Develop A Chat Bot With Node.js](https://www.smashingmagazine.com/2016/10/how-to-develop-a-chat-bot-with-node-js/)

# Conclusion

The real value in the process of creating personal projects is priceless but don't feel bad if you can't spend time working on side projects. Take your time, learn the most you can. If you keep studying, the same amount of time you spend on reading articles, you’ll be able to use it to code your own projects. Keep calm and keep studying.

If you liked this content, follow me on [Github](https://github.com/afonsopacifer) and/or [Twitter](https://twitter.com/afonsopacifer) :yellow_heart:.

Cheers.