How to Choose Personal Projects

How to Choose Personal Projects

How do you decide what kind of personal project to work on?

I try to choose a project where I can learn a new skill, and then use that skill on future projects.

It can be overwhelming with all of the different libraries, types of stacks, and databases, to figure out and focus on one thing, then move forward.

For my recent project, I took a retrospective look at other projects I've worked on myself. One thing that I struggled with was authentication. For JavaScript, there's a multitude of different ways to have authentication. But something I kept hearing was Firebase. I knew it was different than what I've used before so it would be a new skill and I knew if I got to hang of it I can use it moving forward as Google is a reliable third party.

This project wasn't my first attempt at a pokémon theme game. I actually tried to make a tile-based wordle kind of game where you reveal the image by clicking on tiles, then guessing what the image is. I did that project when I was first learning React.

For the time it was a good project. I learned a lot, however there were things that bothered me about it. Like how slow it was loading into the application or how the UI code was cumbersome to write and read.

Fixing the loading issue was simply adjusting the fetch(axios) to the pokémon API to only call when a new image was needed. Where before I would call and get the entire pokémon list and all of the fields inside the list, then store that in an array; now it was making one request at a time. Another thing I learned was that you can make a request for just a part of the data you need. I needed all of the pokémon names for the most recent project and that made the fetch much smaller and faster by only asking for the names. There's always room to optimize.

I'm not a designer so the UI was difficult to manage. I opted this time to use React MUI for the login and SASS for the main game. It made sense to get the outline done with MUI and then go harder on animations. However, for most of the project, it was just basic HTML inputs and buttons.

Those are just a couple of things I really wanted to fix. The idea of coming back to old projects and improving on them follows the same line of taking skills and moving into the next project.

And honestly, I'm very proud of updating. It shows how far I've come and is a good feeling to make something better.

For now, try to remember as long as you're learning you're making progress.

Have a good day. Be well.

Finished Product!
https://whomthatpokemon.netlify.app/
LinkedIn:
https://www.linkedin.com/in/jordan-moldovan/