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.
Start an HTTP server, handle all request types, and send the correct response to the client.
This is good for learning how the Node.js works with web applications under the hoods.
Fetch and replace a piece of code, recreate the browser workflow using the history API and improve the application performance.
This is good for understanding the default browser experience.
Run your application only in the CLI, add parameters for fetch data from Github API and show them.
This is good for learning how the Node.js works without a web server and how to integrate it with the operational system.
Create a chrome extension is cool, but the answer for: What extension should I create? Is hard.
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.
Handle inputs, process your data, and respond like a real user.
This is good for understanding APIs integrations.
At this point, you may be probably asking yourself: What do I need to learn to start any of these projects?
Follow the tutorials to get started! When you become more confident, implement your ideas.
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
- Build a Single Page Application (SPA) Site With Vanilla.js
- How to build a command line tool with nodejs a step by step guide
- Extend the Browser: Getting Started Tutorial
- How To Develop A Chat Bot With Node.js
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.