The Thing
Rebuild my personal website, from scratch. I'll get more into what "from scratch" actually means later.
(Spoiler alert: I did it.)
The Why
I completed a coding bootcamp in 2017. Since then I've had the practical idea to create my own website. This means that I would code the whole thing, and not pick a plug-and-play/drag-and-drop solution, such as SquareSpace (which is the service I used for years). There's legitimately nothing wrong with that kind of solution, but I was like, "I know how to code. Why aren't I using it for my own practical use?"
Beyond that, I'd be free to explore with my own designs, learn some new technologies and likely find a way to host the site for free. (I think I was paying something like $13/month for SquareSpace.)
The Work
Why Hadn't I Just Done it Before?
As with many things in life, getting started was the hardest part. I knew that I wanted the site to have a sexy frontend (AKA, I wanted it to look good), but frontend development just isn't my strong suit. In bootcamp, I was pretty convinced that that's what I'd be interested in, given all of my artistic endeavors. But, for the most part, I find frontend development to be somewhat tedious. Plus, it's a lot of Javascript, which also isn't a strong suit of mine.
However, I'm painfully aware of the fact that typically, when I don't really "like" something, that just means I don't know it well and I'm frustrated.
So there was probably going to be no way around the fact that I was going to have to get into some technology that I was uncomfortable using.
Landing on the Code/Framework
First of all, I knew that I wanted to create a single-page-application. Something to showcase my tech skills, but also a place to put personal content (like art and writing and whatever else floats my boat).
I have done a few Wes Bos tutorials in Javascript and React.js. React is a framework that's been around long enough that it's more than proven itself. So many companies use it, so it's relevant to learn. Plus, it really fit the bill for the "sexy" site I wanted to make.
I did a Google search and found a tutorial for a React personal portfolio. The backend work was using a tool called Sanity.io that I'd never heard of, but all the more reason to check it out. It was dumb how fast I found the tutorial and how quickly I said to myself, "Yep, just do this one."
Sometimes you just have to make a choice and start.
Doing the Thing
It didn't take long before I was coding and actually enjoying it. I shouldn't have been so surprised. Going through the tutorial, I was glad I'd chosen the one I did -- a lot of the work was updating the SCSS styling (my Achille's heal), but I was also re-learning React and flexing my Javascript muscles.
There were a few challenges and things I knew I wanted to change about the structure of the site to better tailor it to suit my needs. (Ex: I don't need a Testimonials section, but I sure would love both a tech and art portfolio.) I also learned a bit more about different animation tools that are available.
Feeling Accomplished
I launched the site toward the end of the month (using Netlify for hosting -- which is insanely easy for a React project). Sometime by mid-February, I had successfully updated my domain DNS records so everything forwards as expected.
I'm super proud of what I created. I did what I wanted to do and I think I did it well.
I was able to delete my SquareSpace account and I'm saving that $13/month, which feels grrrreat.
What's Next?
I still have a some things on the site that I'd like to revisit and update AKA tech debt. But those bitesized tasks are much more achievable and attainable. And I'm excited to get to work on them now that the bulk of the site is done. And beautiful.
The Tech Stack (if you're a nerd)
- Sanity.io backend, including schema and actual database
- React.js frontend framework
- FramerMotion animations
- Netlify hosting