Creating a Portfolio Website with Gatsby.JS

I created my portfolio using Gatsby.JS. This was my first time working with Gatsby, GraphQL, and React; and I documented the process.

Part One ~ What's the plan?

When I decided that it was time to return to development I also figured that I would need a portfolio. That's where this project started. I know that I needed a portfolio but I had spent so much time away from development that I wasn't really sure which technologies to use. While looking through various lists and blogs for inspiration, I happened upon a cute little blog built using Gatsby.JS

I hadn't heard of Gatsby.JS before and I figured that it would be a pain to learn, but I've spent so much time out of development, it would probably be beneficial to challenge myself.

Step one was going to be learning how Gatsby.JS worked, and I was plesently surprised

Part Two - Learning Gatsby.JS

I have tried React a few times but never really immersed myself in it. While the tutorials for React are fine, they leave me questioning how I would actually implement React in a real-life scenarion, and since I try to keep my turn around time low, I don't have time to answer that question and I quickly decide to move on to something else.

This wasn't the case with Gatsby.JS

I knew that I wanted to create a portfolio and within an hour I understood how I would do that using Gatsby.JS. The tutorial for this framework is beautifully written and does a great job of showing you how to interact with the system while leaving enough room for your imagination to flourish. Honestly, this may be one of Gatsbys biggest strengths, it's just so damn easy to learn and run with that it doesn't even give you the time to question whether it's a good fit because you've already built half your project in it.

Part Three - GraphQL

I got stunted when trying to learn GraphQL. Where I had spent only a day flying through Gatsbys tutorial, when all was said and done I spent nearly two trying to wrap my head around GraphQl. There's nothing complicated in the syntax but understanding how everything just "works" is another story.

GraphQL is designed to operate like "magic". What I mean by that is: GraphQL is designed to work with very little intervention from the client. This is good because it means that using GraphQL is a breeze, everything is already set in place for you. But this is a pain because it means the "understanding" GraphQL can be a nightmare.